• vithigar@lemmy.ca
    link
    fedilink
    arrow-up
    73
    ·
    11 hours ago

    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.

    • rockSlayer@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      11
      ·
      10 hours ago

      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!

      • vithigar@lemmy.ca
        link
        fedilink
        arrow-up
        27
        ·
        10 hours ago

        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.

        • MacFearrs@lemmy.dbzer0.com
          link
          fedilink
          arrow-up
          2
          ·
          8 hours ago

          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

          • klankin@piefed.ca
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            52 minutes ago

            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

          • floquant@lemmy.dbzer0.com
            link
            fedilink
            arrow-up
            2
            ·
            8 hours ago

            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