```1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ``` ```\$a = < 58350605 lzjb_compress = 887 ms (112739 KB/s), 100000000 -> 68711273 fastlz1_compress = 591 ms (169204 KB/s), 100000000 -> 55239233 fastlz2_compress = 644 ms (155279 KB/s), 100000000 -> 54163013 lzf_compress = 679 ms (147275 KB/s), 100000000 -> 57695415 lzrw1_compress = 693 ms (144300 KB/s), 100000000 -> 59669043 lzrw1a_compress = 664 ms (150602 KB/s), 100000000 -> 59448006 lzrw2_compress = 648 ms (154320 KB/s), 100000000 -> 55312164 lzrw3_compress = 649 ms (154083 KB/s), 100000000 -> 52468327 quicklz = 591 ms (169204 KB/s), 100000000 -> 52334371 TEXT sub metric { my (\$upsp,\$dnsp, \$csp,\$dsp, \$csz,\$usz, \$upN,\$dnN) = @_; return \$upN*(\$usz/\$csp + \$csz/\$upsp) + \$dnN*(\$csz/\$dnsp + \$usz/\$dsp); } for( split "\n", \$a ) { if( /^([^\=]*)\= (\d+) ms \((\d+) KB\/s\)\, (\d+) \-\> (\d+)/ ) { @a = map( \${\$_}, 1..5 ); \$a[1] *= 1E-3; \$s = \$a[3]/\$a[1]; \$m1= metric(100E6/8,100E6/8, \$s,\$s, \$a[4],\$a[3], 1,10); \$m2= metric(10E6/8,4E6/8, \$s,\$s, \$a[4],\$a[3], 1,10); printf "\$a[0]: %8.3f %8.3f\n", \$m1, \$m2; } } ```
 ```1 2 3 4 5 6 7 8 9 10 ``` ```snappy : 57.190 1219.534 lzjb_compress : 70.223 1438.951 fastlz1_compress : 55.112 1155.477 fastlz2_compress : 54.747 1133.675 lzf_compress : 58.241 1207.534 lzrw1_compress : 60.132 1248.739 lzrw1a_compress : 59.618 1243.823 lzrw2_compress : 55.803 1157.621 lzrw3_compress : 53.311 1098.480 quicklz : 52.555 1095.056 ```