azonenberg changed the topic of #scopehal to: ngscopeclient, libscopehal, and libscopeprotocols development and testing | https://github.com/ngscopeclient/scopehal-apps | Logs: https://libera.irclog.whitequark.org/scopehal
<_whitenotifier-8> [scopehal-apps] azonenberg commented on issue #874: ngscopeclient crashes when trying to FFT - https://github.com/ngscopeclient/scopehal-apps/issues/874#issuecomment-3130160583
<_whitenotifier-8> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±1] https://github.com/ngscopeclient/scopehal/compare/6a6b1454478d...4bc7f954ffdd
<_whitenotifier-8> [scopehal] azonenberg 4bc7f95 - CSVImportFilter: Removed redundant feof calls, some other small performance tweaks. See #989.
Degi has quit [Ping timeout: 260 seconds]
Degi has joined #scopehal
<_whitenotifier-8> [scopehal] azonenberg pushed 2 commits to master [+0/-0/±2] https://github.com/ngscopeclient/scopehal/compare/4bc7f954ffdd...ed8aeeb6fead
<_whitenotifier-8> [scopehal] azonenberg 477a4b1 - Minor code cleanup
<_whitenotifier-8> [scopehal] azonenberg ed8aeeb - Transposed import matrix to reduce wasted allocations. See #989.
<_whitenotifier-8> [scopehal] azonenberg commented on issue #989: CSV filter: more efficient loading of large files - https://github.com/ngscopeclient/scopehal/issues/989#issuecomment-3130462702
<_whitenotifier-8> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±1] https://github.com/ngscopeclient/scopehal/compare/ed8aeeb6fead...bad30faa4bdd
<_whitenotifier-8> [scopehal] azonenberg bad30fa - CSVImportFilter: Removed temporary buffer and just pass around offsets. See #989.
<_whitenotifier-8> [scopehal] azonenberg commented on issue #989: CSV filter: more efficient loading of large files - https://github.com/ngscopeclient/scopehal/issues/989#issuecomment-3130487748
<_whitenotifier-8> [scopehal] azonenberg commented on issue #989: CSV filter: more efficient loading of large files - https://github.com/ngscopeclient/scopehal/issues/989#issuecomment-3130629339
<_whitenotifier-8> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±1] https://github.com/ngscopeclient/scopehal/compare/bad30faa4bdd...3b6122fb43ef
<_whitenotifier-8> [scopehal] azonenberg 3b6122f - Pre-read file in CSV import rather than doing small fgets. See #989.
<d1b2> <vipqualitypost> glad to see more work on CSV import, that's my main method of using ngscopeclient until my thunderscope arrives 😄
sorear has quit [Server closed connection]
sorear has joined #scopehal
_florent_ has quit [Server closed connection]
_florent_ has joined #scopehal
balrog has quit [Server closed connection]
balrog has joined #scopehal
<_whitenotifier-8> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±1] https://github.com/ngscopeclient/scopehal/compare/3b6122fb43ef...ffbe970b3f49
<_whitenotifier-8> [scopehal] azonenberg ffbe970 - CSVImportFilter: Avoid more pointless string copies. See #989.
<_whitenotifier-8> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±1] https://github.com/ngscopeclient/scopehal/compare/ffbe970b3f49...825cee34a482
<_whitenotifier-8> [scopehal] azonenberg 825cee3 - Bug fixes and optimizations to CSVImportFilter, now ~8x overall speedup. See #989.
<_whitenotifier-8> [scopehal] azonenberg commented on issue #989: CSV filter: more efficient loading of large files - https://github.com/ngscopeclient/scopehal/issues/989#issuecomment-3131210032
<_whitenotifier-8> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±1] https://github.com/ngscopeclient/scopehal/compare/825cee34a482...9135a8d0815b
<_whitenotifier-8> [scopehal] azonenberg 9135a8d - Moved filter parameter lookup out of inner loop, now 8.9x cumulative speedup. See #989.
<_whitenotifier-8> [scopehal] azonenberg commented on issue #989: CSV filter: more efficient loading of large files - https://github.com/ngscopeclient/scopehal/issues/989#issuecomment-3131223880
<d1b2> <azonenberg> @vipqualitypost well i got nerdsniped while chasing that bug and the guy complaining that it was too slow lol
<d1b2> <azonenberg> So now it's 8.9x faster than this morning, loading my test file at 102 MB/s
<d1b2> <azonenberg> i'm gonna go to bed but eyeing https://github.com/fastfloat/fast_float as a possible replacement for strtof()
<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 pushed 1 commit to master [+0/-0/±1] https://github.com/ngscopeclient/scopehal/compare/9135a8d0815b...715cb21272a4
<_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] azonenberg closed issue #989: CSV filter: more efficient loading of large files - https://github.com/ngscopeclient/scopehal/issues/989
<_whitenotifier-8> [scopehal-apps] azonenberg pushed 1 commit to master [+0/-0/±1] https://github.com/ngscopeclient/scopehal-apps/compare/1f01df2b5ac8...4291114c6cbf
<_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