Today we're releasing Logic Alpha 2.2.7. If you haven't been following the alpha software, you can view all the releases and join the conversation here: https://discuss.saleae.com/
We’ve spent the last week focused on improving digital processing and rendering performance. Our goal - to ensure the software can run in real-time on as many systems as possible while recording digital channels near the worst-case data throughput. And we’ve done it! At least on our machines :).
Your mileage may vary. Quick note - we haven’t dived into analyzer processing performance yet, so you will still see considerable slow down when recording dense protocol data. We’ll get to that soon!
For reference, our test involves recording 8 digital channels at 250 MSPS, recording 115200 baud serial, I2C, and 12 MHz SPI in the same capture.
We do have a fairly large known issue in the application we’re working on next. The capture process leaks memory pretty badly. If in-app, the reported memory usage is 1 GB, the actual memory usage might be 5x higher. In addition to hurting performance, this also causes a typical “soft crash” when trying to restart a capture or close a tab, where the memory deletion takes so long the UI times out and the processing engine stops responding. This is currently our highest priority, and it’s responsible for the majority of front-end “soft crashes”, and mainly affects customers pushing the performance limits of the devices.
We can’t stress the extent of the performance improvements we’ve accomplished over the last week or so. I want to say thanks to Ryan, John, and Rani for their efforts. The digital processing performance, one of the main bottlenecks in “real time” mode in the software, is now over 10x faster in single-threaded tests! Digital rendering if several times faster than it was before, and we’ve managed to improve the scheduling efficiency to get more work done per second & per CPU core. I can’t wait to bring these improvements to protocol analysis, digital triggering, and analog processing & rendering.
If you would like to test it out, try connecting your device to high speed digital signals - be sure to keep them at least 4 times slower than the sample rate! Then record near the worst case - (6 digital channels @ 500 MSPS, 12 digital channels @ 250 MSPS, 16 channels at 125 MSPS.) See how long the software can run in “looping” mode before you see the dreaded “backlog (X) s.” in the capture progress window. Let us know how long you’re able to record before seeing this! Internally, we’ve seen it run over 20 minutes without backlogging.
And of course, please send us your feedback! You can post on https://discuss.saleae.com/ or leave feedback directly in the app. We review all feedback every day.
Happy (high-speed) debugging!
Ryan, John, Rani, and Mark - The Software Team.