Comparing zstd and zlib for JS source string compression

Getting the data

Data to compress is taken from HTTP archive websites, using the latest mobile crawl. More specifically:

Taking all JS source files from a random selection of pages in HTTP archive that have some non-trivial amount of JS:

SELECT page, url
FROM `httparchive.requests.2018_11_15_mobile`
WHERE
  page IN (
    SELECT url
    FROM `httparchive.summary_pages.2018_11_15_mobile`
    WHERE bytesJS > 100000
    ORDER BY RAND()
    LIMIT 100)
  AND url LIKE '%.js';

This gives >1k scripts, which are then fetched and concatenated:

$ urls=$(cat ~/Downloads/query-results | tail +2 | cut -d',' -f2-)
$ for url in $urls; do curl $url >> ~/js-data.txt; done
$ ls -lh ~/js-data.txt
-rw-r----- 1 lizeb primarygroup 113M Nov 30 11:45 /usr/local/google/home/lizeb/js-data.txt

Benchmarking

The full code used for benchmarking is taken from this this CL, which adds zstd to Chrome and updates the benchmarking binary accordingly.

Running tests

Tests are run on Linux (Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz, aka Broadwell) and on a Pixel 3XL (Snapdrgaon 845).

$ out/Release-desktop/compression_benchmark ~/js-data.txt 2>&1 | tee compression-results-linux.txt
$ adb shell /data/local/tmp/compression_benchmark /data/local/tmp/js-data.txt 2>&1 | tee compression-results-linux.txt

Settings

  • zstd: level 4
  • Zlib: level 6 (default)
  • Brotli: level 3

Code

In [7]:
import ast
import csv
import numpy as np
from matplotlib import pylab as plt

def Plot(raw_data):
  colors = ['red', 'blue', 'green', 'purple']
  compression_mask = raw_data['type'] == 'compression'
  decompression_mask = raw_data['type'] == 'decompression'
  algorithms = list(set(raw_data['algorithm']))
  algorithm_masks = [raw_data['algorithm'] == algorithm
                     for algorithm in algorithms]
  assert all(sum(mask) == sum(algorithm_masks[0]) for mask in algorithm_masks)
  width = 1. / (len(algorithm) + .25)
  sizes_log = np.log2(
      raw_data[compression_mask & algorithm_masks[0]]['chunk_size'])
  
  for (mask, label) in ((compression_mask, 'Compression'),
                        (decompression_mask, 'Decompression')):
    for metric in ('throughput', 'latency_us'):
      fig = plt.figure(figsize=(14, 8))
      for i in range(len(algorithms)):
        algorithm = algorithms[i]
        algorithm_mask = algorithm_masks[i]
        data_mask = mask & algorithm_mask
        data = raw_data[data_mask]
        plt.bar(sizes_log + i * width, data[metric], width, color=colors[i],
               label=algorithm)
      if metric == 'latency_us':
        plt.yscale('log')
      plt.xlim(xmax=max(sizes_log) + 1)
      plt.legend(loc='upper left')
      plt.xlabel('Data Size, $\log_2()$ scale')
      plt.ylabel('%s (MB/s or $\mu$s)' % metric)
      plt.title('%s %s vs chunk size' % (label, metric))
      plt.show()
  
  fig = plt.figure(figsize=(14, 8))
  plt.title('Compression Ratio')
  for i in range(len(algorithms)):
    algorithm = algorithms[i]
    algorithm_mask = algorithm_masks[i]
    data_mask = compression_mask & algorithm_mask
    data = raw_data[data_mask]
    plt.bar(sizes_log + i * width, data['compression_ratio'], width,
            color=colors[i], label=algorithm)
  plt.xlabel('Data Size, $\log_2()$ scale')
  plt.xlim(xmax=max(sizes_log) + 1)
  plt.ylabel('Compression Ratio')
  plt.legend(loc='upper left')
  plt.show()
  
def ParseData(lines):
  csv_data = [line[line.index(']') + 2:] for line in lines.split('\n')[1:]]
  reader = csv.reader(csv_data)
  rows = [(x[0], x[1], int(x[2]), float(x[3]), float(x[4]), float(x[5]))
          for x in reader]
  rows = np.array(rows, dtype=[('algorithm', object), ('type', object),
                               ('chunk_size', int), ('throughput', float),
                               ('latency_us', float),
                               ('compression_ratio', float)])
  return rows

Raw Data

In [20]:
#@title
raw_data_android = '''[0118/114926.397399:INFO:compression_benchmark.cc(172)] Reading the input file
[0118/114930.176878:INFO:compression_benchmark.cc(53)] zlib1,compression,4096,37.8116,108.326,2.35231
[0118/114933.963807:INFO:compression_benchmark.cc(53)] zlib1,decompression,4096,181.092,22.6183,0
[0118/114937.297094:INFO:compression_benchmark.cc(53)] zlib3,compression,4096,35.7577,114.549,2.38956
[0118/114941.283449:INFO:compression_benchmark.cc(53)] zlib3,decompression,4096,183.256,22.3513,0
[0118/114946.241675:INFO:compression_benchmark.cc(53)] zlib6,compression,4096,23.9723,170.864,2.47021
[0118/114951.840224:INFO:compression_benchmark.cc(53)] zlib6,decompression,4096,182.211,22.4794,0
[0118/114956.958279:INFO:compression_benchmark.cc(53)] zlib9,compression,4096,23.2182,176.413,2.47152
[0118/115002.730635:INFO:compression_benchmark.cc(53)] zlib9,decompression,4096,181.838,22.5256,0
[0118/115005.377983:INFO:compression_benchmark.cc(53)] zlib1,compression,8192,45.1447,181.461,2.49723
[0118/115008.543418:INFO:compression_benchmark.cc(53)] zlib1,decompression,8192,227.203,36.0559,0
[0118/115011.417179:INFO:compression_benchmark.cc(53)] zlib3,compression,8192,41.4439,197.665,2.55129
[0118/115014.810312:INFO:compression_benchmark.cc(53)] zlib3,decompression,8192,230.109,35.6006,0
[0118/115019.635321:INFO:compression_benchmark.cc(53)] zlib6,compression,8192,24.6306,332.594,2.66441
[0118/115024.995401:INFO:compression_benchmark.cc(53)] zlib6,decompression,8192,230.76,35.5001,0
[0118/115030.129462:INFO:compression_benchmark.cc(53)] zlib9,compression,8192,23.1417,353.993,2.66661
[0118/115035.775393:INFO:compression_benchmark.cc(53)] zlib9,decompression,8192,230.2,35.5864,0
[0118/115038.135723:INFO:compression_benchmark.cc(53)] zlib1,compression,16384,50.5634,324.029,2.60878
[0118/115040.948164:INFO:compression_benchmark.cc(53)] zlib1,decompression,16384,261.842,62.5721,0
[0118/115043.608905:INFO:compression_benchmark.cc(53)] zlib3,compression,16384,44.7972,365.737,2.68273
[0118/115046.709267:INFO:compression_benchmark.cc(53)] zlib3,decompression,16384,266.938,61.3775,0
[0118/115051.880851:INFO:compression_benchmark.cc(53)] zlib6,compression,16384,22.9631,713.493,2.83141
[0118/115057.426996:INFO:compression_benchmark.cc(53)] zlib6,decompression,16384,269.398,60.8171,0
[0118/115103.180813:INFO:compression_benchmark.cc(53)] zlib9,compression,16384,20.6172,794.675,2.83502
[0118/115109.402760:INFO:compression_benchmark.cc(53)] zlib9,decompression,16384,267.786,61.1833,0
[0118/115111.643844:INFO:compression_benchmark.cc(53)] zlib1,compression,32768,53.2135,615.783,2.69185
[0118/115114.291942:INFO:compression_benchmark.cc(53)] zlib1,decompression,32768,285.669,114.706,0
[0118/115116.930164:INFO:compression_benchmark.cc(53)] zlib3,compression,32768,45.0816,726.859,2.78759
[0118/115119.970642:INFO:compression_benchmark.cc(53)] zlib3,decompression,32768,294.752,111.172,0
[0118/115125.766572:INFO:compression_benchmark.cc(53)] zlib6,compression,32768,20.4729,1600.55,2.97379
[0118/115131.950270:INFO:compression_benchmark.cc(53)] zlib6,decompression,32768,300.903,108.899,0
[0118/115139.221325:INFO:compression_benchmark.cc(53)] zlib9,compression,32768,16.3054,2009.65,2.97957
[0118/115146.871805:INFO:compression_benchmark.cc(53)] zlib9,decompression,32768,302.497,108.325,0
[0118/115149.108409:INFO:compression_benchmark.cc(53)] zlib1,compression,65536,53.2266,1231.26,2.74694
[0118/115151.796017:INFO:compression_benchmark.cc(53)] zlib1,decompression,65536,267.466,245.025,0
[0118/115154.485224:INFO:compression_benchmark.cc(53)] zlib3,compression,65536,44.2903,1479.69,2.85919
[0118/115157.625171:INFO:compression_benchmark.cc(53)] zlib3,decompression,65536,270.41,242.358,0
[0118/115204.190367:INFO:compression_benchmark.cc(53)] zlib6,compression,65536,18.0597,3628.86,3.08242
[0118/115211.299389:INFO:compression_benchmark.cc(53)] zlib6,decompression,65536,287.924,227.616,0
[0118/115220.247656:INFO:compression_benchmark.cc(53)] zlib9,compression,65536,13.236,4951.33,3.09055
[0118/115229.487546:INFO:compression_benchmark.cc(53)] zlib9,decompression,65536,286.697,228.59,0
[0118/115231.685543:INFO:compression_benchmark.cc(53)] zlib1,compression,131072,54.2217,2417.34,2.77835
[0118/115234.306452:INFO:compression_benchmark.cc(53)] zlib1,decompression,131072,271.541,482.697,0
[0118/115236.993394:INFO:compression_benchmark.cc(53)] zlib3,compression,131072,44.277,2960.27,2.90013
[0118/115240.095137:INFO:compression_benchmark.cc(53)] zlib3,decompression,131072,284.509,460.696,0
[0118/115246.899214:INFO:compression_benchmark.cc(53)] zlib6,compression,131072,17.4153,7526.25,3.14335
[0118/115254.217280:INFO:compression_benchmark.cc(53)] zlib6,decompression,131072,291.067,450.315,0
[0118/115303.826494:INFO:compression_benchmark.cc(53)] zlib9,compression,131072,12.3224,10636.9,3.15291
[0118/115313.850894:INFO:compression_benchmark.cc(53)] zlib9,decompression,131072,300.736,435.837,0
[0118/115316.063066:INFO:compression_benchmark.cc(53)] zlib1,compression,262144,53.804,4872.2,2.79396
[0118/115318.707400:INFO:compression_benchmark.cc(53)] zlib1,decompression,262144,276.313,948.721,0
[0118/115321.437303:INFO:compression_benchmark.cc(53)] zlib3,compression,262144,43.5624,6017.66,2.92086
[0118/115324.579793:INFO:compression_benchmark.cc(53)] zlib3,decompression,262144,283.368,925.1,0
[0118/115331.551935:INFO:compression_benchmark.cc(53)] zlib6,compression,262144,16.9929,15426.7,3.17532
[0118/115338.911747:INFO:compression_benchmark.cc(53)] zlib6,decompression,262144,295.59,886.851,0
[0118/115348.933471:INFO:compression_benchmark.cc(53)] zlib9,compression,262144,11.8133,22190.5,3.18565
[0118/115359.347188:INFO:compression_benchmark.cc(53)] zlib9,decompression,262144,295.288,887.756,0
[0118/115401.580731:INFO:compression_benchmark.cc(53)] zlib1,compression,524288,53.1128,9871.22,2.80961
[0118/115404.245277:INFO:compression_benchmark.cc(53)] zlib1,decompression,524288,270.59,1937.57,0
[0118/115407.006656:INFO:compression_benchmark.cc(53)] zlib3,compression,524288,42.9362,12210.9,2.93951
[0118/115410.179150:INFO:compression_benchmark.cc(53)] zlib3,decompression,524288,281.087,1865.21,0
[0118/115417.256132:INFO:compression_benchmark.cc(53)] zlib6,compression,524288,16.702,31390.7,3.20099
[0118/115424.725753:INFO:compression_benchmark.cc(53)] zlib6,decompression,524288,303.795,1725.8,0
[0118/115434.921849:INFO:compression_benchmark.cc(53)] zlib9,compression,524288,11.5837,45260.9,3.21175
[0118/115445.505951:INFO:compression_benchmark.cc(53)] zlib9,decompression,524288,299.224,1752.16,0
[0118/115447.710629:INFO:compression_benchmark.cc(53)] zlib1,compression,1048576,53.5866,19567.9,2.82712
[0118/115450.355930:INFO:compression_benchmark.cc(53)] zlib1,decompression,1048576,278.264,3768.28,0
[0118/115453.078939:INFO:compression_benchmark.cc(53)] zlib3,compression,1048576,43.3482,24189.6,2.95872
[0118/115456.210854:INFO:compression_benchmark.cc(53)] zlib3,decompression,1048576,285.203,3676.59,0
[0118/115503.282149:INFO:compression_benchmark.cc(53)] zlib6,compression,1048576,16.6331,63041.7,3.22457
[0118/115510.784495:INFO:compression_benchmark.cc(53)] zlib6,decompression,1048576,306.664,3419.3,0
[0118/115521.075858:INFO:compression_benchmark.cc(53)] zlib9,compression,1048576,11.426,91771.4,3.23559
[0118/115531.755950:INFO:compression_benchmark.cc(53)] zlib9,decompression,1048576,297.024,3530.27,0
[0118/115533.942213:INFO:compression_benchmark.cc(53)] zlib1,compression,2097152,54.038,38808.8,2.82868
[0118/115536.558815:INFO:compression_benchmark.cc(53)] zlib1,decompression,2097152,272.255,7702.89,0
[0118/115539.275860:INFO:compression_benchmark.cc(53)] zlib3,compression,2097152,43.4434,48273.2,2.96112
[0118/115542.408423:INFO:compression_benchmark.cc(53)] zlib3,decompression,2097152,280.454,7477.7,0
[0118/115549.493192:INFO:compression_benchmark.cc(53)] zlib6,compression,2097152,16.6064,126286,3.2284
[0118/115556.949028:INFO:compression_benchmark.cc(53)] zlib6,decompression,2097152,291.659,7190.43,0
[0118/115607.222272:INFO:compression_benchmark.cc(53)] zlib9,compression,2097152,11.4454,183231,3.23947
[0118/115617.924923:INFO:compression_benchmark.cc(53)] zlib9,decompression,2097152,290.883,7209.61,0
[0118/115620.117894:INFO:compression_benchmark.cc(53)] zlib1,compression,4194304,53.8566,77879.1,2.82972
[0118/115622.742926:INFO:compression_benchmark.cc(53)] zlib1,decompression,4194304,274.765,15265.1,0
[0118/115625.475376:INFO:compression_benchmark.cc(53)] zlib3,compression,4194304,43.2075,97073.5,2.96251
[0118/115628.579699:INFO:compression_benchmark.cc(53)] zlib3,decompression,4194304,283.575,14790.8,0
[0118/115635.664815:INFO:compression_benchmark.cc(53)] zlib6,compression,4194304,16.608,252547,3.23051
[0118/115643.154022:INFO:compression_benchmark.cc(53)] zlib6,decompression,4194304,298.587,14047.2,0
[0118/115653.486037:INFO:compression_benchmark.cc(53)] zlib9,compression,4194304,11.3787,368610,3.24164
[0118/115704.242225:INFO:compression_benchmark.cc(53)] zlib9,decompression,4194304,293.655,14283.1,0'''
In [17]:
#@title
raw_data_linux = '''[0118/113511.015115:INFO:compression_benchmark.cc(172)] Reading the input file
[0118/113514.141965:INFO:compression_benchmark.cc(53)] zlib1,compression,4096,39.4218,103.902,2.35226
[0118/113517.787774:INFO:compression_benchmark.cc(53)] zlib1,decompression,4096,241.535,16.9582,0
[0118/113520.994050:INFO:compression_benchmark.cc(53)] zlib3,compression,4096,37.0926,110.426,2.38956
[0118/113524.746983:INFO:compression_benchmark.cc(53)] zlib3,decompression,4096,246.439,16.6207,0
[0118/113528.824059:INFO:compression_benchmark.cc(53)] zlib6,compression,4096,29.1238,140.641,2.47021
[0118/113533.400660:INFO:compression_benchmark.cc(53)] zlib6,decompression,4096,235.213,17.414,0
[0118/113537.568236:INFO:compression_benchmark.cc(53)] zlib9,compression,4096,28.4807,143.817,2.47152
[0118/113542.247937:INFO:compression_benchmark.cc(53)] zlib9,decompression,4096,235.055,17.4257,0
[0118/113544.480104:INFO:compression_benchmark.cc(53)] zlib1,compression,8192,53.3601,153.523,2.49717
[0118/113547.156913:INFO:compression_benchmark.cc(53)] zlib1,decompression,8192,298.507,27.4433,0
[0118/113549.532831:INFO:compression_benchmark.cc(53)] zlib3,compression,8192,50.0375,163.717,2.55129
[0118/113552.347011:INFO:compression_benchmark.cc(53)] zlib3,decompression,8192,293.492,27.9122,0
[0118/113555.780580:INFO:compression_benchmark.cc(53)] zlib6,compression,8192,34.57,236.968,2.66441
[0118/113559.613617:INFO:compression_benchmark.cc(53)] zlib6,decompression,8192,284.346,28.8099,0
[0118/113603.209810:INFO:compression_benchmark.cc(53)] zlib9,compression,8192,32.9918,248.304,2.66661
[0118/113607.207572:INFO:compression_benchmark.cc(53)] zlib9,decompression,8192,287.961,28.4483,0
[0118/113609.047038:INFO:compression_benchmark.cc(53)] zlib1,compression,16384,64.6347,253.486,2.60871
[0118/113611.251238:INFO:compression_benchmark.cc(53)] zlib1,decompression,16384,331.827,49.3751,0
[0118/113613.264064:INFO:compression_benchmark.cc(53)] zlib3,compression,16384,59.0704,277.364,2.68272
[0118/113615.583510:INFO:compression_benchmark.cc(53)] zlib3,decompression,16384,341.606,47.9616,0
[0118/113618.775333:INFO:compression_benchmark.cc(53)] zlib6,compression,16384,37.1626,440.873,2.8314
[0118/113622.333190:INFO:compression_benchmark.cc(53)] zlib6,decompression,16384,333.166,49.1768,0
[0118/113625.938503:INFO:compression_benchmark.cc(53)] zlib9,compression,16384,32.872,498.418,2.83502
[0118/113629.825268:INFO:compression_benchmark.cc(53)] zlib9,decompression,16384,333.786,49.0853,0
[0118/113631.471631:INFO:compression_benchmark.cc(53)] zlib1,compression,32768,72.1567,454.123,2.69182
[0118/113633.493393:INFO:compression_benchmark.cc(53)] zlib1,decompression,32768,320.126,102.36,0
[0118/113635.328761:INFO:compression_benchmark.cc(53)] zlib3,compression,32768,64.7108,506.376,2.78757
[0118/113637.545975:INFO:compression_benchmark.cc(53)] zlib3,decompression,32768,322.654,101.558,0
[0118/113640.970193:INFO:compression_benchmark.cc(53)] zlib6,compression,32768,34.6211,946.475,2.97379
[0118/113644.742653:INFO:compression_benchmark.cc(53)] zlib6,decompression,32768,324.918,100.85,0
[0118/113649.022716:INFO:compression_benchmark.cc(53)] zlib9,compression,32768,27.6721,1184.15,2.97957
[0118/113653.709693:INFO:compression_benchmark.cc(53)] zlib9,decompression,32768,317.987,103.048,0
[0118/113655.256599:INFO:compression_benchmark.cc(53)] zlib1,compression,65536,76.753,853.855,2.74696
[0118/113657.193476:INFO:compression_benchmark.cc(53)] zlib1,decompression,65536,330.776,198.128,0
[0118/113659.004332:INFO:compression_benchmark.cc(53)] zlib3,compression,65536,65.5039,1000.49,2.85915
[0118/113701.175799:INFO:compression_benchmark.cc(53)] zlib3,decompression,65536,346.074,189.37,0
[0118/113704.901957:INFO:compression_benchmark.cc(53)] zlib6,compression,65536,31.7818,2062.06,3.08241
[0118/113708.959166:INFO:compression_benchmark.cc(53)] zlib6,decompression,65536,337.747,194.039,0
[0118/113714.049967:INFO:compression_benchmark.cc(53)] zlib9,compression,65536,23.242,2819.72,3.09055
[0118/113719.475166:INFO:compression_benchmark.cc(53)] zlib9,decompression,65536,348.77,187.906,0
[0118/113720.939906:INFO:compression_benchmark.cc(53)] zlib1,compression,131072,80.9522,1619.13,2.77833
[0118/113722.748536:INFO:compression_benchmark.cc(53)] zlib1,decompression,131072,344.323,380.666,0
[0118/113724.516166:INFO:compression_benchmark.cc(53)] zlib3,compression,131072,67.2042,1950.35,2.90005
[0118/113726.580210:INFO:compression_benchmark.cc(53)] zlib3,decompression,131072,350.794,373.644,0
[0118/113730.374010:INFO:compression_benchmark.cc(53)] zlib6,compression,131072,31.23,4197,3.14333
[0118/113734.479010:INFO:compression_benchmark.cc(53)] zlib6,decompression,131072,363.047,361.033,0
[0118/113739.896641:INFO:compression_benchmark.cc(53)] zlib9,compression,131072,21.8512,5998.4,3.15291
[0118/113745.681220:INFO:compression_benchmark.cc(53)] zlib9,decompression,131072,361.188,362.891,0
[0118/113747.104761:INFO:compression_benchmark.cc(53)] zlib1,compression,262144,83.4765,3140.33,2.79399
[0118/113748.858100:INFO:compression_benchmark.cc(53)] zlib1,decompression,262144,359.489,729.213,0
[0118/113750.540543:INFO:compression_benchmark.cc(53)] zlib3,compression,262144,70.5472,3715.87,2.92077
[0118/113752.543494:INFO:compression_benchmark.cc(53)] zlib3,decompression,262144,367.324,713.659,0
[0118/113756.364657:INFO:compression_benchmark.cc(53)] zlib6,compression,262144,30.9926,8458.26,3.1753
[0118/113800.463245:INFO:compression_benchmark.cc(53)] zlib6,decompression,262144,375.21,698.659,0
[0118/113806.071960:INFO:compression_benchmark.cc(53)] zlib9,compression,262144,21.1029,12422.2,3.18565
[0118/113812.005391:INFO:compression_benchmark.cc(53)] zlib9,decompression,262144,374.228,700.492,0
[0118/113813.383168:INFO:compression_benchmark.cc(53)] zlib1,compression,524288,86.0085,6095.77,2.80969
[0118/113815.083896:INFO:compression_benchmark.cc(53)] zlib1,decompression,524288,358.281,1463.34,0
[0118/113816.724488:INFO:compression_benchmark.cc(53)] zlib3,compression,524288,72.043,7277.44,2.93946
[0118/113818.715863:INFO:compression_benchmark.cc(53)] zlib3,decompression,524288,363.16,1443.68,0
[0118/113822.559611:INFO:compression_benchmark.cc(53)] zlib6,compression,524288,30.7157,17069.1,3.20096
[0118/113826.687584:INFO:compression_benchmark.cc(53)] zlib6,decompression,524288,379.039,1383.2,0
[0118/113832.370747:INFO:compression_benchmark.cc(53)] zlib9,compression,524288,20.769,25243.7,3.21175
[0118/113838.362587:INFO:compression_benchmark.cc(53)] zlib9,decompression,524288,379.5,1381.52,0
[0118/113839.720569:INFO:compression_benchmark.cc(53)] zlib1,compression,1048576,86.6983,12094.5,2.82722
[0118/113841.396032:INFO:compression_benchmark.cc(53)] zlib1,decompression,1048576,360.435,2909.2,0
[0118/113843.021685:INFO:compression_benchmark.cc(53)] zlib3,compression,1048576,72.3683,14489.4,2.95866
[0118/113844.972300:INFO:compression_benchmark.cc(53)] zlib3,decompression,1048576,371.826,2820.07,0
[0118/113848.778631:INFO:compression_benchmark.cc(53)] zlib6,compression,1048576,30.8754,33961.5,3.22455
[0118/113852.877962:INFO:compression_benchmark.cc(53)] zlib6,decompression,1048576,381.241,2750.43,0
[0118/113858.556510:INFO:compression_benchmark.cc(53)] zlib9,compression,1048576,20.6907,50678.7,3.23559
[0118/113904.526039:INFO:compression_benchmark.cc(53)] zlib9,decompression,1048576,381.824,2746.23,0
[0118/113905.868179:INFO:compression_benchmark.cc(53)] zlib1,compression,2097152,87.6647,23922.4,2.8288
[0118/113907.535050:INFO:compression_benchmark.cc(53)] zlib1,decompression,2097152,358.885,5843.52,0
[0118/113909.149711:INFO:compression_benchmark.cc(53)] zlib3,compression,2097152,72.8497,28787.4,2.96106
[0118/113911.084150:INFO:compression_benchmark.cc(53)] zlib3,decompression,2097152,369.094,5681.89,0
[0118/113914.879985:INFO:compression_benchmark.cc(53)] zlib6,compression,2097152,30.9602,67737.1,3.22837
[0118/113918.979310:INFO:compression_benchmark.cc(53)] zlib6,decompression,2097152,378.553,5539.91,0
[0118/113924.692426:INFO:compression_benchmark.cc(53)] zlib9,compression,2097152,20.5646,101979,3.23947
[0118/113930.695289:INFO:compression_benchmark.cc(53)] zlib9,decompression,2097152,375.087,5591.11,0
[0118/113932.038484:INFO:compression_benchmark.cc(53)] zlib1,compression,4194304,87.5649,47899.4,2.82983
[0118/113933.713299:INFO:compression_benchmark.cc(53)] zlib1,decompression,4194304,364.639,11502.6,0
[0118/113935.342250:INFO:compression_benchmark.cc(53)] zlib3,compression,4194304,72.209,58085.6,2.96245
[0118/113937.301405:INFO:compression_benchmark.cc(53)] zlib3,decompression,4194304,355.945,11783.6,0
[0118/113941.162816:INFO:compression_benchmark.cc(53)] zlib6,compression,4194304,30.4328,137822,3.23048
[0118/113945.316465:INFO:compression_benchmark.cc(53)] zlib6,decompression,4194304,364.242,11515.1,0
[0118/113951.213189:INFO:compression_benchmark.cc(53)] zlib9,compression,4194304,19.9239,210516,3.24164
[0118/113957.221707:INFO:compression_benchmark.cc(53)] zlib9,decompression,4194304,369.478,11352,0
[0118/113958.571471:INFO:compression_benchmark.cc(53)] zlib1,compression,8388608,87.1513,96253.4,2.83047
[0118/114000.305149:INFO:compression_benchmark.cc(53)] zlib1,decompression,8388608,330.059,25415.5,0
[0118/114001.919922:INFO:compression_benchmark.cc(53)] zlib3,compression,8388608,72.8306,115180,2.96342
[0118/114003.926840:INFO:compression_benchmark.cc(53)] zlib3,decompression,8388608,343.044,24453.4,0
[0118/114007.719884:INFO:compression_benchmark.cc(53)] zlib6,compression,8388608,30.9829,270749,3.2313
[0118/114011.866358:INFO:compression_benchmark.cc(53)] zlib6,decompression,8388608,353.56,23726.1,0
[0118/114017.611700:INFO:compression_benchmark.cc(53)] zlib9,compression,8388608,20.4496,410209,3.24251
[0118/114023.691969:INFO:compression_benchmark.cc(53)] zlib9,decompression,8388608,353.708,23716.2,0
[0118/114025.082821:INFO:compression_benchmark.cc(53)] zlib1,compression,16777216,84.5754,198370,2.83047
[0118/114026.842864:INFO:compression_benchmark.cc(53)] zlib1,decompression,16777216,314.394,53363.7,0
[0118/114028.501470:INFO:compression_benchmark.cc(53)] zlib3,compression,16777216,70.9152,236581,2.96371
[0118/114030.541090:INFO:compression_benchmark.cc(53)] zlib3,decompression,16777216,320.002,52428.4,0
[0118/114034.392402:INFO:compression_benchmark.cc(53)] zlib6,compression,16777216,30.5149,549804,3.23176
[0118/114038.587440:INFO:compression_benchmark.cc(53)] zlib6,decompression,16777216,323.712,51827.6,0
[0118/114044.433378:INFO:compression_benchmark.cc(53)] zlib9,compression,16777216,20.098,834769,3.24277
[0118/114050.600363:INFO:compression_benchmark.cc(53)] zlib9,decompression,16777216,327.31,51257.9,0
[0118/114051.852882:INFO:compression_benchmark.cc(53)] zlib1,compression,33554432,80.5433,416601,3.30456
[0118/114053.453352:INFO:compression_benchmark.cc(53)] zlib1,decompression,33554432,280.126,119783,0
[0118/114054.937278:INFO:compression_benchmark.cc(53)] zlib3,compression,33554432,67.9354,493917,3.46018
[0118/114056.792842:INFO:compression_benchmark.cc(53)] zlib3,decompression,33554432,290.721,115418,0
[0118/114100.105292:INFO:compression_benchmark.cc(53)] zlib6,compression,33554432,30.4076,1.10349e+06,3.77326
[0118/114103.761480:INFO:compression_benchmark.cc(53)] zlib6,decompression,33554432,295.367,113602,0
[0118/114108.774860:INFO:compression_benchmark.cc(53)] zlib9,compression,33554432,20.0866,1.67049e+06,3.78643
[0118/114114.207975:INFO:compression_benchmark.cc(53)] zlib9,decompression,33554432,293.092,114484,0
[0118/114115.147163:INFO:compression_benchmark.cc(53)] zlib1,compression,67108864,71.5952,937337,4.92207
[0118/114116.438219:INFO:compression_benchmark.cc(53)] zlib1,decompression,67108864,189.895,353399,0
[0118/114117.519743:INFO:compression_benchmark.cc(53)] zlib3,compression,67108864,62.0803,1.081e+06,5.152
[0118/114118.946316:INFO:compression_benchmark.cc(53)] zlib3,decompression,67108864,193.772,346329,0
[0118/114121.294311:INFO:compression_benchmark.cc(53)] zlib6,compression,67108864,28.5884,2.34742e+06,5.61296
[0118/114124.002023:INFO:compression_benchmark.cc(53)] zlib6,decompression,67108864,195.629,343041,0
[0118/114127.506936:INFO:compression_benchmark.cc(53)] zlib9,compression,67108864,19.1498,3.50442e+06,5.63328
[0118/114131.352865:INFO:compression_benchmark.cc(53)] zlib9,decompression,67108864,194.974,344194,0'''
In [21]:
data_android = ParseData(raw_data_android)
data_linux = ParseData(raw_data_linux)

Results

In [22]:
Plot(data_linux)
In [23]:
Plot(data_android)
In [0]: