It’s a little better than your read. The ~400x speedup is in comparison to using ZRAM, which, in very brief terms, compresses memory by creating an in-memory compressed block device and assigning that as your swap space. So your “swap” is actually a compressed chunk of RAM, not on disk.
This was significantly slower than normal memory access because page faulting when looking up something in memory then fetching from swap was, itself, expensive. Regardless of how fast that swap was. When your swap is on a storage device that overhead is comparatively tiny, but when it’s just another chunk of memory suddenly it’s what you’re spending most of your time on.
Fuck yea, RAM swap? I bought both my laptop and desktop when RAM was cheap, and got more memory than I needed. I can safely allocate like 12GB to CRAM!
The win from CRAM is that it is not swap, and operates using mostly normal RAM semantics. If it works as advertised you should be able to allocate most (all?!) of your RAM as CRAM.
I would guess this is only useful in servers, as for day to day use you ideally want the lowest latency you can for responsiveness. That said, if there’s a way you can specify which type processes can use, that may be useful in some cases
Honestly though CPU processing is going to add almost no latency at all.
Almost all latency is sending to the RAM itself, so if you can compress it in a CPU cache before sending it, its nearly free RAM space.
Also systems are fucked fast these days you could probably make something responsive in pure python - other than millisecond timing scenarios like medical and audio stuff
It’s a little better than your read. The ~400x speedup is in comparison to using ZRAM, which, in very brief terms, compresses memory by creating an in-memory compressed block device and assigning that as your swap space. So your “swap” is actually a compressed chunk of RAM, not on disk.
This was significantly slower than normal memory access because page faulting when looking up something in memory then fetching from swap was, itself, expensive. Regardless of how fast that swap was. When your swap is on a storage device that overhead is comparatively tiny, but when it’s just another chunk of memory suddenly it’s what you’re spending most of your time on.
Fuck yea, RAM swap? I bought both my laptop and desktop when RAM was cheap, and got more memory than I needed. I can safely allocate like 12GB to CRAM!
The win from CRAM is that it is not swap, and operates using mostly normal RAM semantics. If it works as advertised you should be able to allocate most (all?!) of your RAM as CRAM.
I would guess this is only useful in servers, as for day to day use you ideally want the lowest latency you can for responsiveness. That said, if there’s a way you can specify which type processes can use, that may be useful in some cases
Honestly though CPU processing is going to add almost no latency at all.
Almost all latency is sending to the RAM itself, so if you can compress it in a CPU cache before sending it, its nearly free RAM space.
Also systems are fucked fast these days you could probably make something responsive in pure python - other than millisecond timing scenarios like medical and audio stuff
Depends on the workload. This probably would not be great for gaming or audio production, but it might be for video editing and local LLMs
And for gluttonous browsers and browser-based apps