[ create a new paste ] login | about

Link: http://codepad.org/XP4FSppm    [ raw code | output | fork ]

Perl, pasted on Mar 24:
$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;
  }
}


Output:
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


Create a new paste based on this one


Comments: