<d1b2>
<azonenberg> also for everyone here... if there is a specific feature or filter that is annoyingly slow, please let me know
<d1b2>
<azonenberg> i like optimization but i need to be pointed at a specific target :p
<d1b2>
<azonenberg> i fully expect a lot of filters have easy opportunities for massive speedups if there's a reason to work on them
<d1b2>
<azonenberg> @vipqualitypost anyway i'm done for the night but please pull latest scopehal and let me know if it's a) much faster and b) breaks for you :p
<_whitenotifier-8>
[scopehal] azonenberg 715cb21 - Switch to std::from_chars for CSV parsing, 16.47x cumulative speedup, 189 MB/s on my dev box. Fixes #989, I'm happy with this.
<_whitenotifier-8>
[scopehal-apps] azonenberg 4291114 - Updated to latest scopehal with CSV performance improvements
<d1b2>
<azonenberg> ok maybe i wasnt done
<d1b2>
<azonenberg> NOW i'm done
erdnaxe has quit [Server closed connection]
erdnaxe has joined #scopehal
<d1b2>
<helaslo> By the way, just a question: what is the status about more modern C++ features? I looked at the CSV import filter previously (needed to convert an internal logic dump to something ngscopeclient can read), and I've seen that a lot of c parser functions are used, is there a preference of them over the modern C++ ones? (Just asking because I see from_chars is used now)
<d1b2>
<azonenberg> The focus is generally on getting the job done correctly and fast. I'm very familiar and comfortable with the C functions so I use them by default but from_chars is ~5x faster
<d1b2>
<azonenberg> So i switched
<d1b2>
<azonenberg> We're gradually pushing more modern C++ features throughout the codebase while not going newer than c++ 17 until all of our target platforms including oldstable distros have good c++ 20 support (coming soon, if it's not here already)
<d1b2>
<azonenberg> we'll be making a lot more use of std::shared_ptr and company in v0.2
<d1b2>
<azonenberg> (we use it already but will be using it much more heavily)
<d1b2>
<azonenberg> Parts of this codebase date to circa 2011 so there's a lot of modern C++ features we could be using that didn't exist at the time
<d1b2>
<azonenberg> the general rule is that if the oldest compiler on a supported platform uses the feature, and you can make the code either faster or more readable but not slower, go for it