Во Linux се развива нов механизам за компресирање на работната меморија, наречен CRAM, кој ветува значително побрз пристап до компресираните податоци во споредба со актуелниот ZRAM. Наместо компресираната меморија да ја обработува преку swap-слојот, CRAM ја задржува во RAM и ја третира како меморија.

Проектот го претставил Грегори Прајс со тим од Meta. Идејата зад CRAM е дека главното забавување кај компресираната меморија не е самото компресирање, туку page fault настаните и однесувањето на swap-механизмите. Новиот пристап се обидува да го избегне тој дополнителен слој, особено при читање податоци.

Linux веќе нуди ZRAM и zswap како познати решенија за ваква намена. Но, и двете работат во рамки на swap-системот. CRAM, од друга страна, користи приватен NUMA јазол наместо да се претставува како блок-уред. Така оперативниот систем може да ги задржи постојните механизми за управување со меморијата, вклучително миграција и ballooning.

Според прикажаните тестови, CRAM при сценарио само со читање достигнал до 452 пати подобри резултати од ZRAM. Во најслабиот измерен случај, CRAM обработувал 489 милиони операции во секунда, додека ZRAM бил на околу 1,1 милион. Овие резултати се поврзани со можноста компресираните податоци да се читаат со малку доцнење, при што останува трошокот за хардверски забрзаната компресија.

Предноста е помала кога има и запишување податоци. Во тест со 20 проценти запишувања, CRAM бил 5,4 пати побрз од ZRAM. Причината е што компресираните податоци не можат директно да се менуваат: за запишување, мемориските страници треба да се вратат и мигрираат во изворниот NUMA домен.

Развојот сè уште има отворени прашања, особено околу проценката на достапната логичка меморија кога различни податоци имаат различна можност за компресија. Предвиден е и заштитен механизам, наречен Chicken Bit, кој привремено го сопира користењето на CRAM додека се управуваат алокациите, за да се избегнат каскадни проблеми при голем број запишувања.

Првичната намена веројатно се големи Linux сервери, но ZRAM и zswap се користат и на уреди со ограничена меморија, како Steam Deck. Доколку се решат преостанатите имплементациски предизвици, CRAM би можел да стигне и до поширокиот Linux екосистем.