$a = <<TEXT;
snappy = 531 ms (188323 KB/s), 100000000 -> 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;
}
}