Hi Nhat,

On Tuesday, April 1, 2025 at 8:24:15 pm +02:00, Nhat Pham <nphamcs@gmail.com> wrote:
>> With zblock, it is possible to densely arrange objects of various sizes
>> resulting in low internal fragmentation. Also this allocator tries to
>> fill incomplete blocks instead of adding new ones, in many cases
>> providing a compression ratio substantially higher than z3fold and zbud
>> (though lower than zmalloc's).
>
> Do we have data for comparison here?

Yeah, for instance we normally run *stress-ng --vm 4 --vm-bytes 4G --vm-keep --timeout 10m --metrics-brief*

zblock:
stress-ng: metrc: [499] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: metrc: [499]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: metrc: [499] vm             43755994    600.53   2382.34     15.19     72861.92       18250.50

zsmalloc:
stress-ng: metrc: [491] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: metrc: [491]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: metrc: [491] vm             41769859    601.37   2381.85     16.56     69457.56       17415.62

which gives just a little short of 5% of advantage for zblock.

>> with regard to average performance and worst execution times, thus
>> allowing for better response time and real-time characteristics of the
>> whole system.
>
> By performance, do you mean latency or throughput or storage density?

Latency and throughput. It's hard to compete with zsmalloc in storage density indeed.

~Vitaly