Here's a little contribution to the Rigol MHO900 community if it hasn't been solved before (I couldn't find it at least).
https://github.com/harvie256/mho-speed-patchThe MHO900 (and possibly the DHO900?), has it's SCPI raw data read out speed limited by some low performance code that builds the data transfer arrays using byte by byte vector appends for every byte of the transfer. The patch replaces the two places this happens with a malloc and memcpy. This takes the raw data transfer speeds from ~1.5MB/s up close to the wire limit for the 100Mbit ethernet. The patch also pins the transfer thread to one of the A72 cores so it stops it being kicked down to the low power cores by the GUI threads.
All the details in the repo. Sorry the doco is Claude written, so it's correct, but sounds like it's trying to sell something.
This patch currently just patches the running binary in RAM, so nothing changed on the scope permanently. The solution needs more thorough testing before I'd make it a permanent binary change. But I don't think it matters much anyway, as you're going to be generally connected to a PC to be reading data out anyway, so it doesn't make much difference if you need to run a script to up the speed.
If anyone would like to test on the DHO series that'd be interesting.
There's more optimizations I can see, but these couple have got the bulk of the useful gains.