Zstd cpu benchmark (btrfs like)
Posted by Spirited_Milk_6580@reddit | linux | View on Reddit | 36 comments
Hello everyone.
I'm testing the speed of the zstd algorithm with parameters similar to the btrfs.
I'm currently collecting speed data on various processors and would like to ask you to run a test and share the results.
For accurate testing, you need to prepare a test file with random data.
sudo dd if=/dev/urandom of=./tst.bin bs=1M count=128 status=progress
Then run the benchmark.
zstd -b1 -e22 -B128KB -T0 tst.bin
I'm especially interested in older processors like the Pentium 4, Celeron D, Atom N270, and so on. I want to know how effective compression is on older computers.
Let's start with my results.
Level | Comp. speed | Decomp. speed
AMD Athlon 2 X2 280 3.6GHz
1 | 1362.5 MB/s | 3085.5 MB/s
2 | 1194.8 MB/s | 3114.5 MB/s
3 | 820.2 MB/s | 3102.0 MB/s
4 | 634.3 MB/s | 3110.6 MB/s
5 | 653.8 MB/s | 3099.3 MB/s
6 | 652.3 MB/s | 3112.0 MB/s
7 | 647.3 MB/s | 3102.8 MB/s
8 | 654.0 MB/s | 3115.6 MB/s
9 | 662.6 MB/s | 3097.3 MB/s
10 | 643.4 MB/s | 3110.1 MB/s
11 | 112.5 MB/s | 3106.2 MB/s
12 | 106.6 MB/s | 3111.3 MB/s
13 | 14.6 MB/s | 3112.4 MB/s
14 | 8.14 MB/s | 3115.7 MB/s
15 | 7.92 MB/s | 3109.0 MB/s
16 | 7.91 MB/s | 3112.8 MB/s
17 | 7.91 MB/s | 3115.8 MB/s
18 | 7.91 MB/s | 3114.7 MB/s
19 | 4.02 MB/s | 3115.1 MB/s
20 | 4.02 MB/s | 3111.1 MB/s
21 | 4.02 MB/s | 3116.1 MB/s
22 | 4.02 MB/s | 3115.1 MB/s
Intel Pentium P6200 2.13GHz
1 | 1293.4 MB/s | 2812.5 MB/s
2 | 1246.2 MB/s | 2818.9 MB/s
3 | 1095.2 MB/s | 2813.9 MB/s
4 | 874.5 MB/s | 2819.7 MB/s
5 | 676.8 MB/s | 2814.6 MB/s
6 | 677.5 MB/s | 2820.1 MB/s
7 | 670.0 MB/s | 2813.2 MB/s
8 | 670.8 MB/s | 2819.2 MB/s
9 | 659.1 MB/s | 2810.6 MB/s
10 | 588.3 MB/s | 2816.9 MB/s
11 | 119.2 MB/s | 2811.1 MB/s
12 | 118.3 MB/s | 2816.3 MB/s
13 | 12.9 MB/s | 2817.2 MB/s
14 | 9.03 MB/s | 2818.5 MB/s
15 | 9.18 MB/s | 2817.8 MB/s
16 | 9.22 MB/s | 2816.8 MB/s
17 | 9.22 MB/s | 2815.7 MB/s
18 | 9.22 MB/s | 2819.1 MB/s
19 | 4.70 MB/s | 2817.5 MB/s
20 | 4.70 MB/s | 2816.4 MB/s
21 | 4.70 MB/s | 2817.4 MB/s
22 | 4.70 MB/s | 2816.8 MB/s
The_Bic_Pen@reddit
Atom x270, as requested. Running on Debian 11 (actually BunsenLabs Beryllium)
Spirited_Milk_6580@reddit (OP)
Thank you Thank you Thank you.
This is what I wanted the most.
If you don't mind, please add base64 versions. They work different.
The_Bic_Pen@reddit
TIL about the
colcommand for this one.macromorgan@reddit
Random data is incompressible, so I wonder if it’s a good benchmark for this sort of thing.
Spirited_Milk_6580@reddit (OP)
It's a benchmark of speed, not compression.
lijmlaag@reddit
Yes, however testing zstd only on in-compressible data provides a very one-sided view that is not representative of its actual performance in real-world applications.
People who's main application were to feed zstd uncompressible data are just wasting CPU cycles.
Spirited_Milk_6580@reddit (OP)
True. That's why I asked for testing 4 files.
sudo dd if=/dev/zero of=./tst0.bin bs=1M count=128 status=progress
sudo dd if=/dev/urandom of=./tstr.bin bs=1M count=128 status=progress
base64 tst0.bin > tst0.base64
base64 tstr.bin > tstr.base64
tst0.bin tstr.bin st0.base64 tstr.base64
base64 is closer to reality
macromorgan@reddit
That’s valid.
efraimf@reddit
iBook G4, Debian Sid
1#tst.bin : 134217728 -> 134230016 (x1.000), 89.1 MB/s, 203.9 MB/s 2#tst.bin : 134217728 -> 134230016 (x1.000), 80.9 MB/s, 201.0 MB/s 3#tst.bin : 134217728 -> 134230016 (x1.000), 66.3 MB/s, 197.2 MB/s 4#tst.bin : 134217728 -> 134230016 (x1.000), 60.7 MB/s, 199.5 MB/s 5#tst.bin : 134217728 -> 134230016 (x1.000), 50.4 MB/s, 195.8 MB/s 6#tst.bin : 134217728 -> 134230016 (x1.000), 51.8 MB/s, 195.4 MB/s 7#tst.bin : 134217728 -> 134230016 (x1.000), 50.9 MB/s, 196.5 MB/s 8#tst.bin : 134217728 -> 134230016 (x1.000), 51.8 MB/s, 196.4 MB/s 9#tst.bin : 134217728 -> 134230016 (x1.000), 47.1 MB/s, 190.1 MB/s 10#tst.bin : 134217728 -> 134230016 (x1.000), 42.9 MB/s, 196.9 MB/s 11#tst.bin : 134217728 -> 134230016 (x1.000), 7.43 MB/s, 196.0 MB/s 12#tst.bin : 134217728 -> 134230016 (x1.000), 7.42 MB/s, 190.4 MB/s 13#tst.bin : 134217728 -> 134230016 (x1.000), 1.62 MB/s, 190.3 MB/s 14#tst.bin : 134217728 -> 134230016 (x1.000), 1.04 MB/s, 191.1 MB/s 15#tst.bin : 134217728 -> 134230016 (x1.000), 0.87 MB/s, 192.3 MB/s 16#tst.bin : 134217728 -> 134230016 (x1.000), 1.05 MB/s, 195.9 MB/s 17#tst.bin : 134217728 -> 134230016 (x1.000), 1.04 MB/s, 190.5 MB/s 18#tst.bin : 134217728 -> 134230016 (x1.000), 1.05 MB/s, 198.2 MB/s 19#tst.bin : 134217728 -> 134230016 (x1.000), 0.53 MB/s, 199.2 MB/s 20#tst.bin : 134217728 -> 134230016 (x1.000), 0.52 MB/s, 196.8 MB/s 21#tst.bin : 134217728 -> 134230016 (x1.000), 0.53 MB/s, 196.7 MB/s 22#tst.bin : 134217728 -> 134230016 (x1.000), 0.52 MB/s, 193.1 MB/sHifive Unmatched, U740 SoC, Guix ` 1#tst0.bin : 134217728 -> 22528 (x5957.82), 180.1 MB/s, 176.5 MB/s 2#tst0.bin : 134217728 -> 22528 (x5957.82), 175.5 MB/s, 175.0 MB/s 3#tst0.bin : 134217728 -> 22528 (x5957.82), 180.0 MB/s, 175.6 MB/s 4#tst0.bin : 134217728 -> 22528 (x5957.82), 174.2 MB/s, 175.3 MB/s 5#tst0.bin : 134217728 -> 22528 (x5957.82), 180.0 MB/s, 175.6 MB/s 6#tst0.bin : 134217728 -> 21504 (x6241.52), 64.2 MB/s, 175.1 MB/s 7#tst0.bin : 134217728 -> 21504 (x6241.52), 44.6 MB/s, 175.3 MB/s 8#tst0.bin : 134217728 -> 21504 (x6241.52), 44.6 MB/s, 174.9 MB/s 9#tst0.bin : 134217728 -> 21504 (x6241.52), 44.7 MB/s, 175.5 MB/s 10#tst0.bin : 134217728 -> 21504 (x6241.52), 44.7 MB/s, 174.8 MB/s 11#tst0.bin : 134217728 -> 22528 (x5957.82), 63.9 MB/s, 175.5 MB/s 12#tst0.bin : 134217728 -> 22528 (x5957.82), 63.9 MB/s, 175.3 MB/s 13#tst0.bin : 134217728 -> 21504 (x6241.52), 77.1 MB/s, 175.4 MB/s 14#tst0.bin : 134217728 -> 21504 (x6241.52), 77.2 MB/s, 175.0 MB/s 15#tst0.bin : 134217728 -> 21504 (x6241.52), 77.2 MB/s, 175.7 MB/s 16#tst0.bin : 134217728 -> 21504 (x6241.52), 77.2 MB/s, 175.0 MB/s 17#tst0.bin : 134217728 -> 21504 (x6241.52), 77.3 MB/s, 175.5 MB/s 18#tst0.bin : 134217728 -> 21504 (x6241.52), 77.3 MB/s, 174.9 MB/s 19#tst0.bin : 134217728 -> 21504 (x6241.52), 61.6 MB/s, 175.4 MB/s 20#tst0.bin : 134217728 -> 21504 (x6241.52), 61.5 MB/s, 175.0 MB/s 21#tst0.bin : 134217728 -> 21504 (x6241.52), 61.6 MB/s, 175.4 MB/s 22#tst0.bin : 134217728 -> 21504 (x6241.52), 61.5 MB/s, 174.9 MB/s
1#tstr.bin : 134217728 -> 134230016 (x1.000), 98.2 MB/s, 167.2 MB/s 2#tstr.bin : 134217728 -> 134230016 (x1.000), 92.6 MB/s, 166.9 MB/s 3#tstr.bin : 134217728 -> 134230016 (x1.000), 80.9 MB/s, 167.7 MB/s 4#tstr.bin : 134217728 -> 134230016 (x1.000), 70.9 MB/s, 167.6 MB/s 5#tstr.bin : 134217728 -> 134230016 (x1.000), 70.8 MB/s, 167.7 MB/s 6#tstr.bin : 134217728 -> 134230016 (x1.000), 70.8 MB/s, 167.5 MB/s 7#tstr.bin : 134217728 -> 134230016 (x1.000), 69.8 MB/s, 167.7 MB/s 8#tstr.bin : 134217728 -> 134230016 (x1.000), 69.9 MB/s, 167.5 MB/s 9#tstr.bin : 134217728 -> 134230016 (x1.000), 69.8 MB/s, 167.9 MB/s 10#tstr.bin : 134217728 -> 134230016 (x1.000), 69.8 MB/s, 167.4 MB/s 11#tstr.bin : 134217728 -> 134230016 (x1.000), 12.2 MB/s, 167.1 MB/s 12#tstr.bin : 134217728 -> 134230016 (x1.000), 10.7 MB/s, 166.9 MB/s 13#tstr.bin : 134217728 -> 134230016 (x1.000), 2.27 MB/s, 167.6 MB/s 14#tstr.bin : 134217728 -> 134230016 (x1.000), 1.60 MB/s, 167.4 MB/s 15#tstr.bin : 134217728 -> 134230016 (x1.000), 1.60 MB/s, 167.6 MB/s 16#tstr.bin : 134217728 -> 134230016 (x1.000), 1.61 MB/s, 167.6 MB/s 17#tstr.bin : 134217728 -> 134230016 (x1.000), 1.62 MB/s, 167.7 MB/s 18#tstr.bin : 134217728 -> 134230016 (x1.000), 1.58 MB/s, 167.5 MB/s 19#tstr.bin : 134217728 -> 134230016 (x1.000), 0.83 MB/s, 167.5 MB/s 20#tstr.bin : 134217728 -> 134230016 (x1.000), 0.83 MB/s, 167.6 MB/s 21#tstr.bin : 134217728 -> 134230016 (x1.000), 0.84 MB/s, 167.8 MB/s 22#tstr.bin : 134217728 -> 134230016 (x1.000), 0.83 MB/s, 167.3 MB/s`
Ryzen 3 3900XT, Guix ` 1#tst0.bin : 134217728 -> 22528 (x5957.82), 10212.7 MB/s, 4799.2 MB/s 2#tst0.bin : 134217728 -> 22528 (x5957.82), 10238.2 MB/s, 4796.3 MB/s 3#tst0.bin : 134217728 -> 22528 (x5957.82), 13130.5 MB/s, 4791.2 MB/s 4#tst0.bin : 134217728 -> 22528 (x5957.82), 10228.1 MB/s, 4800.1 MB/s 5#tst0.bin : 134217728 -> 22528 (x5957.82), 10175.9 MB/s, 4628.3 MB/s 6#tst0.bin : 134217728 -> 21504 (x6241.52), 3294.6 MB/s, 4693.6 MB/s 7#tst0.bin : 134217728 -> 21504 (x6241.52), 2759.6 MB/s, 4817.1 MB/s 8#tst0.bin : 134217728 -> 21504 (x6241.52), 2628.8 MB/s, 4549.2 MB/s 9#tst0.bin : 134217728 -> 21504 (x6241.52), 2745.9 MB/s, 4804.7 MB/s 10#tst0.bin : 134217728 -> 21504 (x6241.52), 2801.3 MB/s, 4813.7 MB/s 11#tst0.bin : 134217728 -> 22528 (x5957.82), 4062.3 MB/s, 4820.0 MB/s 12#tst0.bin : 134217728 -> 22528 (x5957.82), 3975.0 MB/s, 4817.5 MB/s 13#tst0.bin : 134217728 -> 21504 (x6241.52), 600.6 MB/s, 4809.2 MB/s 14#tst0.bin : 134217728 -> 21504 (x6241.52), 612.1 MB/s, 4820.3 MB/s 15#tst0.bin : 134217728 -> 21504 (x6241.52), 614.5 MB/s, 4815.6 MB/s 16#tst0.bin : 134217728 -> 21504 (x6241.52), 610.9 MB/s, 4831.8 MB/s 17#tst0.bin : 134217728 -> 21504 (x6241.52), 613.4 MB/s, 4839.6 MB/s 18#tst0.bin : 134217728 -> 21504 (x6241.52), 611.9 MB/s, 4802.8 MB/s 19#tst0.bin : 134217728 -> 21504 (x6241.52), 584.7 MB/s, 4844.1 MB/s 20#tst0.bin : 134217728 -> 21504 (x6241.52), 583.0 MB/s, 4815.6 MB/s 21#tst0.bin : 134217728 -> 21504 (x6241.52), 584.4 MB/s, 4833.6 MB/s 22#tst0.bin : 134217728 -> 21504 (x6241.52), 582.4 MB/s, 4817.3 MB/s
1#tstr.bin : 134217728 -> 134230016 (x1.000), 4726.2 MB/s, 8053.3 MB/s 2#tstr.bin : 134217728 -> 134230016 (x1.000), 4697.5 MB/s, 8067.1 MB/s 3#tstr.bin : 134217728 -> 134230016 (x1.000), 4448.0 MB/s, 8052.0 MB/s 4#tstr.bin : 134217728 -> 134230016 (x1.000), 4215.1 MB/s, 8005.3 MB/s 5#tstr.bin : 134217728 -> 134230016 (x1.000), 2562.1 MB/s, 8017.6 MB/s 6#tstr.bin : 134217728 -> 134230016 (x1.000), 2491.0 MB/s, 7993.4 MB/s 7#tstr.bin : 134217728 -> 134230016 (x1.000), 2506.7 MB/s, 8002.0 MB/s 8#tstr.bin : 134217728 -> 134230016 (x1.000), 2569.3 MB/s, 7999.0 MB/s 9#tstr.bin : 134217728 -> 134230016 (x1.000), 2417.0 MB/s, 8057.8 MB/s 10#tstr.bin : 134217728 -> 134230016 (x1.000), 2224.9 MB/s, 8039.9 MB/s 11#tstr.bin : 134217728 -> 134230016 (x1.000), 461.0 MB/s, 8031.7 MB/s 12#tstr.bin : 134217728 -> 134230016 (x1.000), 431.0 MB/s, 7991.1 MB/s 13#tstr.bin : 134217728 -> 134230016 (x1.000), 41.2 MB/s, 8035.0 MB/s 14#tstr.bin : 134217728 -> 134230016 (x1.000), 30.4 MB/s, 8046.2 MB/s 15#tstr.bin : 134217728 -> 134230016 (x1.000), 31.0 MB/s, 8036.0 MB/s 16#tstr.bin : 134217728 -> 134230016 (x1.000), 30.4 MB/s, 8016.2 MB/s 17#tstr.bin : 134217728 -> 134230016 (x1.000), 29.6 MB/s, 8052.0 MB/s 18#tstr.bin : 134217728 -> 134230016 (x1.000), 30.9 MB/s, 8052.7 MB/s 19#tstr.bin : 134217728 -> 134230016 (x1.000), 14.9 MB/s, 8047.8 MB/s 20#tstr.bin : 134217728 -> 134230016 (x1.000), 15.5 MB/s, 8038.5 MB/s 21#tstr.bin : 134217728 -> 134230016 (x1.000), 15.3 MB/s, 8056.2 MB/s 22#tstr.bin : 134217728 -> 134230016 (x1.000), 15.2 MB/s, 7975.6 MB/s`
Spirited_Milk_6580@reddit (OP)
Oh my goodness =)
Even IBM PowerPC
non-existing-person@reddit
Got a few more CPUs for you
amd 5950x 1#tst.bin, 5288.4 MB/s, 8626.5 MB/s 2#tst.bin, 5162.9 MB/s, 8563.3 MB/s 3#tst.bin, 4637.7 MB/s, 8596.5 MB/s 4#tst.bin, 4498.7 MB/s, 8830.5 MB/s 5#tst.bin, 3111.5 MB/s, 8755.8 MB/s 6#tst.bin, 3119.2 MB/s, 8627.1 MB/s 7#tst.bin, 3070.3 MB/s, 8549.7 MB/s 8#tst.bin, 3114.4 MB/s, 8694.1 MB/s 9#tst.bin, 3014.4 MB/s, 8651.7 MB/s 10#tst.bin, 2761.1 MB/s, 8689.9 MB/s 11#tst.bin, 614.2 MB/s, 8687.6 MB/s 12#tst.bin, 618.3 MB/s, 8647.3 MB/s 13#tst.bin, 55.0 MB/s, 8788.6 MB/s 14#tst.bin, 38.2 MB/s, 8743.4 MB/s 15#tst.bin, 38.1 MB/s, 8821.2 MB/s 16#tst.bin, 38.0 MB/s, 8747.5 MB/s 17#tst.bin, 37.7 MB/s, 8271.2 MB/s 18#tst.bin, 36.6 MB/s, 8445.8 MB/s 19#tst.bin, 19.1 MB/s, 8718.8 MB/s 20#tst.bin, 19.1 MB/s, 8862.4 MB/s 21#tst.bin, 19.1 MB/s, 8528.0 MB/s 22#tst.bin, 19.0 MB/s, 8632.4 MB/s
Ryzen 3 3100 1#tst.bin, 3439.2 MB/s, 4925.6 MB/s 2#tst.bin, 3451.4 MB/s, 4930.2 MB/s 3#tst.bin, 2479.0 MB/s, 4930.8 MB/s 4#tst.bin, 3263.2 MB/s, 4930.2 MB/s 5#tst.bin, 2334.9 MB/s, 4930.4 MB/s 6#tst.bin, 2259.6 MB/s, 4928.3 MB/s 7#tst.bin, 2235.1 MB/s, 4934.2 MB/s 8#tst.bin, 2254.2 MB/s, 4916.8 MB/s 9#tst.bin, 2233.5 MB/s, 4914.0 MB/s 10#tst.bin, 2120.6 MB/s, 4949.6 MB/s 11#tst.bin, 329.8 MB/s, 4914.1 MB/s 12#tst.bin, 349.3 MB/s, 4914.5 MB/s 13#tst.bin, 37.6 MB/s, 4931.3 MB/s 14#tst.bin, 25.8 MB/s, 4942.7 MB/s 15#tst.bin, 25.9 MB/s, 4939.5 MB/s 16#tst.bin, 25.7 MB/s, 4906.1 MB/s 17#tst.bin, 25.8 MB/s, 4933.0 MB/s 18#tst.bin, 25.8 MB/s, 4896.6 MB/s 19#tst.bin, 12.9 MB/s, 4929.3 MB/s 20#tst.bin, 13.0 MB/s, 4941.3 MB/s 21#tst.bin, 13.0 MB/s, 4914.3 MB/s 22#tst.bin, 13.0 MB/s, 4930.3 MB/s
and for fun rpi4 1#tst.bin, 448.3 MB/s, 1968.4 MB/s 2#tst.bin, 435.7 MB/s, 1975.4 MB/s 3#tst.bin, 307.2 MB/s, 1972.5 MB/s 4#tst.bin, 249.9 MB/s 1975.5 MB/s 5#tst.bin, 39.8 MB/s, 1976.2 MB/s 6#tst.bin, 37.4 MB/s, 1972.2 MB/s 7#tst.bin, 39.4 MB/s, 1974.9 MB/s 8#tst.bin, 40.7 MB/s, 1969.3 MB/s 9#tst.bin, 40.6 MB/s, 1973.9 MB/s 10#tst.bin, 39.3 MB/s, 1975.9 MB/s 11#tst.bin, 25.3 MB/s, 1969.7 MB/s 12#tst.bin, 24.7 MB/s, 1977.5 MB/s 13#tst.bin, 3.51 MB/s, 1971.9 MB/s 14#tst.bin, 2.20 MB/s, 1970.0 MB/s 15#tst.bin, 2.16 MB/s, 1977.0 MB/s 16#tst.bin, 2.20 MB/s, 1977.0 MB/s 17#tst.bin, 2.20 MB/s, 1970.6 MB/s 18#tst.bin, 2.20 MB/s, 1965.5 MB/s 19#tst.bin, 1.11 MB/s, 1970.3 MB/s 20#tst.bin, 1.11 MB/s, 1971.6 MB/s 21#tst.bin, 1.11 MB/s, 1972.5 MB/s 22#tst.bin, 1.11 MB/s, 1973.9 MB/s
Spirited_Milk_6580@reddit (OP)
Now I'm not sure if it's good idea to use btrfs with Atoms
non-existing-person@reddit
You don't have to enable compression, do you? You can run ZFS without compression, so I would expect you should be able to do the same with btrfs.
Spirited_Milk_6580@reddit (OP)
I know. But for me it's the most interesting feature.
IMHO Using btrfs without compression is pointless. Better to stay on ext4.
And of course I know about COW. It's not that interesting for me.
non-existing-person@reddit
You may want to consider lz4 in that case. Should perform better than zstd. Compression ration is mediocre but it's something for basically free. Here is my compressratio for home and rootfs. I mean, +33% more disk for free? No need to ask me twice in this economy ;)
And you are better of doing real life benchmarks. Create empty file, like 8g of size, create filesystem on it, and then copy big files onto it and measure speed and cpu utilization. You can even do that looking at the htop output, really, you don't need precise measurement, only coarse: is it 10% of cpu? or is cp raping it at 50-60%?
Kitayama_8k@reddit
intel rocket lake 11400 | mint 22.3
1#tst.bin : 134217728 -> 134230016 (x1.000), 6161.4 MB/s, 17269.0 MB/s
2#tst.bin : 134217728 -> 134230016 (x1.000), 6126.8 MB/s 17347.9 MB/s
3#tst.bin : 134217728 -> 134230016 (x1.000), 5486.9 MB/s, 17380.6 MB/s
4#tst.bin : 134217728 -> 134230016 (x1.000), 5350.9 MB/s 17384.0 MB/s
5#tst.bin : 134217728 -> 134230016 (x1.000), 3106.6 MB/s, 17342.8 MB/s
6#tst.bin : 134217728 -> 134230016 (x1.000), 3064.3 MB/s, 17367.0 MB/s
7#tst.bin : 134217728 -> 134230016 (x1.000), 3113.5 MB/s, 17341.3 MB/s
8#tst.bin : 134217728 -> 134230016 (x1.000), 3117.4 MB/s, 17332.3 MB/s
9#tst.bin : 134217728 -> 134230016 (x1.000), 3055.8 MB/s, 17303.2 MB/s
10#tst.bin : 134217728 -> 134230016 (x1.000), 2667.7 MB/s, 17307.5 MB/s
11#tst.bin : 134217728 -> 134230016 (x1.000), 588.9 MB/s, 17347.9 MB/s
12#tst.bin : 134217728 -> 134230016 (x1.000), 587.2 MB/s, 17313.1 MB/s
13#tst.bin : 134217728 -> 134230016 (x1.000), 42.0 MB/s, 17282.6 MB/s
14#tst.bin : 134217728 -> 134230016 (x1.000), 31.3 MB/s, 17128.3 MB/s
15#tst.bin : 134217728 -> 134230016 (x1.000), 31.2 MB/s, 17118.5 MB/s
16#tst.bin : 134217728 -> 134230016 (x1.000), 31.6 MB/s, 17096.0 MB/s
17#tst.bin : 134217728 -> 134230016 (x1.000), 31.5 MB/s, 17113.7 MB/s
18#tst.bin : 134217728 -> 134230016 (x1.000), 31.5 MB/s, 17105.1 MB/s
19#tst.bin : 134217728 -> 134230016 (x1.000), 15.9 MB/s, 17120.0 MB/s
20#tst.bin : 134217728 -> 134230016 (x1.000), 15.9 MB/s, 17108.4 MB/s
21#tst.bin : 134217728 -> 134230016 (x1.000), 15.9 MB/s, 17103.4 MB/s
22#tst.bin : 134217728 -> 134230016 (x1.000), 15.9 MB/s, 17092.4 MB/s
non-existing-person@reddit
Now that's interesting, my 9950x compresses at ~10000MB/s - almost 2 times faster, but it decompresses at 15000MB/s, so slower than intel. That's on
/dev/urandomdata? :oKitayama_8k@reddit
just followed op's instructions. my ryzen ai 9 365 decompressed at about he same speed as this rocket lake chip (18k)
rocket lake does have strong avx512 support, could be related.
markusro@reddit
AMD Ryzen Threadripper 3960X 24-Core Processor
AMD Ryzen Embedded V1500B
Very disappointed with my Threadripper after seeing the results of the newer CPUs 😞
Spirited_Milk_6580@reddit (OP)
Really. Unexpected results.
non-existing-person@reddit
I wouldn't really say it's unexpected. TR is only good in 2 things. A lot of PCIe lanes, and a lot of cores. Other than that, it's just normal - but expensive CPU. So newer chip will be faster, especially since that benchmark seem to be running in single thread judging by htop output.
non-existing-person@reddit
Yeah, that's the reason I never went with TR. For same amount of money you just get so much more performance with just ryzen 9. I would say you take TR only when you need those PCIe lanes, or you really, REALLY need that amount of cores (like video editing). Otherwise 9950x is enough. Maybe building yocto linux image would be better on TR than 9950x, but price point is absurd. Better to take longer coffee breaks xd
Spirited_Milk_6580@reddit (OP)
Thank you people. I've found huge unexpected difference depending on data.
I tried raw data (random and zeros) and base64. And ran all tests on my athlon 280.
You may want to watch results. Here they are.
https://drive.google.com/file/d/1jHW8MMYwX0wIWRjVHfc7Qmyqk74_NRS9/view?usp=sharing
2rad0@reddit
Thanks for conducting the survey, looks like the facebook bots really hate when you test and benchmark their software.
whosdr@reddit
Does the kind of data it's tested against affect the performance? Here we're using completely random data: would structured data fare the same?
I don't have any old hardware to test against. So my only result comes from an R7 7800X3D:
And like with others, the drop-off from 10 and then further past 12 is dramatic. And similarly another significant halving past 18.
I'd love to test on a json or xml file, to see if the results are much different.
Spirited_Milk_6580@reddit (OP)
Your proposal is interesting and makes sense. Perfect compressive data.
sudo dd if=/dev/zero of=./tst0.bin bs=1M count=128 status=progresszstd -b1 -e22 -B128KB -T0 tst0.bin1#tst0.bin : 134217728 -> 22528 (x5957.8), 3755.2 MB/s, 2887.0 MB/s
2#tst0.bin : 134217728 -> 22528 (x5957.8), 3791.1 MB/s, 2888.9 MB/s
3#tst0.bin : 134217728 -> 22528 (x5957.8), 3527.7 MB/s, 2888.3 MB/s
4#tst0.bin : 134217728 -> 22528 (x5957.8), 3337.5 MB/s 2889.1 MB/s
5#tst0.bin : 134217728 -> 22528 (x5957.8), 3680.3 MB/s 2886.2 MB/s
6#tst0.bin : 134217728 -> 21504 (x6241.5), 1222.2 MB/s, 2888.0 MB/s
7#tst0.bin : 134217728 -> 21504 (x6241.5), 846.8 MB/s, 2886.6 MB/s
8#tst0.bin : 134217728 -> 21504 (x6241.5), 847.9 MB/s, 2887.9 MB/s
9#tst0.bin : 134217728 -> 21504 (x6241.5), 845.1 MB/s, 2886.4 MB/s
10#tst0.bin : 134217728 -> 21504 (x6241.5), 847.3 MB/s, 2889.1 MB/s
11#tst0.bin : 134217728 -> 22528 (x5957.8), 1187.7 MB/s, 2886.8 MB/s
12#tst0.bin : 134217728 -> 22528 (x5957.8), 1186.4 MB/s, 2889.0 MB/s
13#tst0.bin : 134217728 -> 21504 (x6241.5), 288.6 MB/s, 2887.2 MB/s
14#tst0.bin : 134217728 -> 21504 (x6241.5), 298.5 MB/s, 2889.4 MB/s
15#tst0.bin : 134217728 -> 21504 (x6241.5), 314.6 MB/s, 2887.4 MB/s
16#tst0.bin : 134217728 -> 21504 (x6241.5), 314.0 MB/s, 2889.1 MB/s
17#tst0.bin : 134217728 -> 21504 (x6241.5), 314.1 MB/s, 2886.3 MB/s
18#tst0.bin : 134217728 -> 21504 (x6241.5), 314.1 MB/s, 2889.4 MB/s
19#tst0.bin : 134217728 -> 21504 (x6241.5), 296.8 MB/s, 2886.1 MB/s
20#tst0.bin : 134217728 -> 21504 (x6241.5), 296.9 MB/s, 2889.9 MB/s
21#tst0.bin : 134217728 -> 21504 (x6241.5), 296.8 MB/s, 2885.9 MB/s
22#tst0.bin : 134217728 -> 21504 (x6241.5), 296.8 MB/s, 2889.0 MB/s
whosdr@reddit
With /dev/zero rather than /dev/random
Given how different the results are, there's a good argument that the performance will highly depend on the data.
Kitayama_8k@reddit
AMD A8-4500M (phenom II based 1.9ghz laptop quad core apu) | Debian 13
1#tst.bin : 134217728 -> 134230016 (x1.000), 1112.0 MB/s, 2425.6 MB/s
2#tst.bin : 134217728 -> 134230016 (x1.000), 1102.7 MB/s, 2431.2 MB/s
3#tst.bin : 134217728 -> 134230016 (x1.000), 910.5 MB/s, 2424.8 MB/s
4#tst.bin : 134217728 -> 134230016 (x1.000), 699.7 MB/s, 2427.4 MB/s
5#tst.bin : 134217728 -> 134230016 (x1.000), 551.5 MB/s, 2423.9 MB/s
6#tst.bin : 134217728 -> 134230016 (x1.000), 547.4 MB/s, 2433.1 MB/s
7#tst.bin : 134217728 -> 134230016 (x1.000), 552.9 MB/s, 2423.4 MB/s
8#tst.bin : 134217728 -> 134230016 (x1.000), 551.5 MB/s, 2433.6 MB/s
9#tst.bin : 134217728 -> 134230016 (x1.000), 560.1 MB/s, 2424.9 MB/s
10#tst.bin : 134217728 -> 134230016 (x1.000), 506.6 MB/s, 2426.0 MB/s
11#tst.bin : 134217728 -> 134230016 (x1.000), 79.9 MB/s, 2424.5 MB/s
12#tst.bin : 134217728 -> 134230016 (x1.000), 77.6 MB/s, 2430.1 MB/s
13#tst.bin : 134217728 -> 134230016 (x1.000), 9.55 MB/s, 2411.5 MB/s
14#tst.bin : 134217728 -> 134230016 (x1.000), 6.16 MB/s, 2433.1 MB/s
15#tst.bin : 134217728 -> 134230016 (x1.000), 6.01 MB/s, 2431.5 MB/s
16#tst.bin : 134217728 -> 134230016 (x1.000), 6.09 MB/s, 2416.1 MB/s
17#tst.bin : 134217728 -> 134230016 (x1.000), 6.09 MB/s, 2413.1 MB/s
18#tst.bin : 134217728 -> 134230016 (x1.000), 6.02 MB/s, 2434.7 MB/s
19#tst.bin : 134217728 -> 134230016 (x1.000), 3.17 MB/s, 2419.8 MB/s
20#tst.bin : 134217728 -> 134230016 (x1.000), 3.10 MB/s, 2434.5 MB/s
21#tst.bin : 134217728 -> 134230016 (x1.000), 3.16 MB/s, 2436.7 MB/s
22#tst.bin : 134217728 -> 134230016 (x1.000), 3.23 MB/s, 2434.4 MB/s
Schlaefer@reddit
Note that the benchmark is single threaded, so
-T0does nothing.Spirited_Milk_6580@reddit (OP)
I didn't know.
Thank you.
mandiblesarecute@reddit
amd 5700x
perfect data
random data
ViolinistOne7550@reddit
non-existing-person@reddit
Well, I'm gonna give you results for state of the art desktop cpu for comparison
amd 9950x (boosted to about 5.6GHz during test)
Spirited_Milk_6580@reddit (OP)
Thank you.
Impressive speed.
The gap between 12 and 13 is insane.
aloobhujiyaay@reddit
That drop after level 10 is brutal!
Spirited_Milk_6580@reddit (OP)
High levels are not appropriate to use with SSD even SATA. They just slow down whole process and don't give benefits.