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
The full code used for benchmarking is taken from this this CL, which adds zstd
to Chrome and updates the benchmarking binary accordingly.
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
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
#@title
raw_data_android = '''[0117/143633.228555:INFO:compression_benchmark.cc(167)] Reading the input file
[0117/143637.654320:INFO:compression_benchmark.cc(52)] zstd,compression,4096,30.987,132.185,2.42666
[0117/143642.584275:INFO:compression_benchmark.cc(52)] zstd,decompression,4096,114.921,35.642,0
[0117/143646.138311:INFO:compression_benchmark.cc(52)] zstd,compression,8192,33.5198,244.393,2.62147
[0117/143650.510895:INFO:compression_benchmark.cc(52)] zstd,decompression,8192,141.919,57.723,0
[0117/143653.802667:INFO:compression_benchmark.cc(52)] zstd,compression,16384,36.1811,452.834,2.78712
[0117/143657.781376:INFO:compression_benchmark.cc(52)] zstd,decompression,16384,162.564,100.785,0
[0117/143700.247591:INFO:compression_benchmark.cc(52)] zstd,compression,32768,48.335,677.935,2.80799
[0117/143703.366926:INFO:compression_benchmark.cc(52)] zstd,decompression,32768,181.065,180.974,0
[0117/143705.857964:INFO:compression_benchmark.cc(52)] zstd,compression,65536,47.8382,1369.95,2.90414
[0117/143709.063637:INFO:compression_benchmark.cc(52)] zstd,decompression,65536,197.702,331.489,0
[0117/143711.423481:INFO:compression_benchmark.cc(52)] zstd,compression,131072,50.5014,2595.41,2.98167
[0117/143714.379155:INFO:compression_benchmark.cc(52)] zstd,decompression,131072,198.023,661.902,0
[0117/143717.597999:INFO:compression_benchmark.cc(52)] zstd,compression,262144,36.8921,7105.69,3.1464
[0117/143721.327562:INFO:compression_benchmark.cc(52)] zstd,decompression,262144,222.562,1177.85,0
[0117/143723.767899:INFO:compression_benchmark.cc(52)] zstd,compression,524288,48.5998,10787.9,3.15821
[0117/143726.726129:INFO:compression_benchmark.cc(52)] zstd,decompression,524288,227.234,2307.26,0
[0117/143729.108527:INFO:compression_benchmark.cc(52)] zstd,compression,1048576,49.5683,21154.2,3.27873
[0117/143732.031070:INFO:compression_benchmark.cc(52)] zstd,decompression,1048576,227.961,4599.8,0
[0117/143734.469007:INFO:compression_benchmark.cc(52)] zstd,compression,2097152,48.4007,43329,3.41526
[0117/143737.407851:INFO:compression_benchmark.cc(52)] zstd,decompression,2097152,234.819,8930.93,0
[0117/143739.914990:INFO:compression_benchmark.cc(52)] zstd,compression,4194304,47.043,89158.9,3.57748
[0117/143742.892606:INFO:compression_benchmark.cc(52)] zstd,decompression,4194304,236.682,17721.3,0
[0117/143745.440892:INFO:compression_benchmark.cc(52)] zstd,compression,8388608,46.2949,181199,3.6438
[0117/143748.469664:INFO:compression_benchmark.cc(52)] zstd,decompression,8388608,235.955,35551.8,0
[0117/143751.040536:INFO:compression_benchmark.cc(52)] zstd,compression,16777216,45.8758,365709,3.70333
[0117/143754.248140:INFO:compression_benchmark.cc(52)] zstd,decompression,16777216,220.909,75946.3,0
[0117/143756.545999:INFO:compression_benchmark.cc(52)] zstd,compression,33554432,43.9105,764154,4.36766
[0117/143759.268502:INFO:compression_benchmark.cc(52)] zstd,decompression,33554432,204.747,163883,0
[0117/143800.923809:INFO:compression_benchmark.cc(52)] zstd,compression,67108864,40.7043,1.64869e+06,6.46259
[0117/143803.008048:INFO:compression_benchmark.cc(52)] zstd,decompression,67108864,146.609,457740,0
[0117/143807.954791:INFO:compression_benchmark.cc(52)] zlib,compression,4096,23.9531,171.001,2.47021
[0117/143813.579534:INFO:compression_benchmark.cc(52)] zlib,decompression,4096,177.245,23.1092,0
[0117/143818.497880:INFO:compression_benchmark.cc(52)] zlib,compression,8192,24.1471,339.255,2.66441
[0117/143823.891987:INFO:compression_benchmark.cc(52)] zlib,decompression,8192,222.386,36.8368,0
[0117/143829.027740:INFO:compression_benchmark.cc(52)] zlib,compression,16384,23.1271,708.432,2.83141
[0117/143834.673966:INFO:compression_benchmark.cc(52)] zlib,decompression,16384,266.517,61.4746,0
[0117/143840.515130:INFO:compression_benchmark.cc(52)] zlib,compression,32768,20.3111,1613.3,2.97379
[0117/143846.734200:INFO:compression_benchmark.cc(52)] zlib,decompression,32768,300.709,108.969,0
[0117/143853.417300:INFO:compression_benchmark.cc(52)] zlib,compression,65536,17.7325,3695.81,3.08242
[0117/143900.375889:INFO:compression_benchmark.cc(52)] zlib,decompression,65536,275.731,237.681,0
[0117/143907.204127:INFO:compression_benchmark.cc(52)] zlib,compression,131072,17.3583,7550.98,3.14335
[0117/143914.470342:INFO:compression_benchmark.cc(52)] zlib,decompression,131072,283.923,461.646,0
[0117/143921.520225:INFO:compression_benchmark.cc(52)] zlib,compression,262144,16.8073,15597.1,3.17532
[0117/143929.024645:INFO:compression_benchmark.cc(52)] zlib,decompression,262144,294.929,888.838,0
[0117/143936.155767:INFO:compression_benchmark.cc(52)] zlib,compression,524288,16.574,31633.1,3.20099
[0117/143943.652680:INFO:compression_benchmark.cc(52)] zlib,decompression,524288,299.897,1748.23,0
[0117/143950.745156:INFO:compression_benchmark.cc(52)] zlib,compression,1048576,16.5881,63212.7,3.22457
[0117/143958.308965:INFO:compression_benchmark.cc(52)] zlib,decompression,1048576,292.552,3584.24,0
[0117/144005.410696:INFO:compression_benchmark.cc(52)] zlib,compression,2097152,16.5649,126602,3.2284
[0117/144012.903990:INFO:compression_benchmark.cc(52)] zlib,decompression,2097152,293.2,7152.64,0
[0117/144020.005965:INFO:compression_benchmark.cc(52)] zlib,compression,4194304,16.5655,253195,3.23051
[0117/144027.546359:INFO:compression_benchmark.cc(52)] zlib,decompression,4194304,293.145,14307.9,0
[0117/144034.676176:INFO:compression_benchmark.cc(52)] zlib,compression,8388608,16.5015,508354,3.23133
[0117/144042.225237:INFO:compression_benchmark.cc(52)] zlib,decompression,8388608,281.214,29829.9,0
[0117/144049.376428:INFO:compression_benchmark.cc(52)] zlib,compression,16777216,16.451,1.01983e+06,3.23178
[0117/144056.989838:INFO:compression_benchmark.cc(52)] zlib,decompression,16777216,263.495,63671.9,0
[0117/144103.142054:INFO:compression_benchmark.cc(52)] zlib,compression,33554432,16.3771,2.04886e+06,3.7733
[0117/144109.733323:INFO:compression_benchmark.cc(52)] zlib,decompression,33554432,239.178,140291,0
[0117/144113.969437:INFO:compression_benchmark.cc(52)] zlib,compression,67108864,15.8678,4.22924e+06,5.6131
[0117/144118.630224:INFO:compression_benchmark.cc(52)] zlib,decompression,67108864,162.466,413063,0
[0117/144125.029781:INFO:compression_benchmark.cc(52)] brotli,compression,4096,18.5082,221.308,2.36171
[0117/144132.336429:INFO:compression_benchmark.cc(52)] brotli,decompression,4096,113.216,36.1785,0
[0117/144136.760244:INFO:compression_benchmark.cc(52)] brotli,compression,8192,26.9192,304.318,2.5391
[0117/144142.190963:INFO:compression_benchmark.cc(52)] brotli,decompression,8192,124.379,65.8634,0
[0117/144145.835678:INFO:compression_benchmark.cc(52)] brotli,compression,16384,32.6571,501.698,2.69145
[0117/144150.390781:INFO:compression_benchmark.cc(52)] brotli,decompression,16384,132.196,123.937,0
[0117/144153.479571:INFO:compression_benchmark.cc(52)] brotli,compression,32768,38.5417,850.195,2.81762
[0117/144157.396264:INFO:compression_benchmark.cc(52)] brotli,decompression,32768,137.221,238.797,0
[0117/144200.204401:INFO:compression_benchmark.cc(52)] brotli,compression,65536,42.3292,1548.24,2.92383
[0117/144203.918445:INFO:compression_benchmark.cc(52)] brotli,decompression,65536,131.671,497.726,0
[0117/144206.583460:INFO:compression_benchmark.cc(52)] brotli,compression,131072,44.6673,2934.4,3.01838
[0117/144210.183073:INFO:compression_benchmark.cc(52)] brotli,decompression,131072,124.476,1052.99,0
[0117/144212.815231:INFO:compression_benchmark.cc(52)] brotli,compression,262144,45.184,5801.7,3.09685
[0117/144216.400486:INFO:compression_benchmark.cc(52)] brotli,decompression,262144,123.359,2125.06,0
[0117/144219.026123:INFO:compression_benchmark.cc(52)] brotli,compression,524288,45.1454,11613.3,3.1777
[0117/144222.638060:INFO:compression_benchmark.cc(52)] brotli,decompression,524288,120.412,4354.13,0
[0117/144225.274922:INFO:compression_benchmark.cc(52)] brotli,compression,1048576,44.766,23423.5,3.27308
[0117/144228.904752:INFO:compression_benchmark.cc(52)] brotli,decompression,1048576,116.266,9018.73,0
[0117/144231.481824:INFO:compression_benchmark.cc(52)] brotli,compression,2097152,45.7933,45796,3.3707
[0117/144235.078969:INFO:compression_benchmark.cc(52)] brotli,decompression,2097152,115.087,18222.4,0
[0117/144237.574168:INFO:compression_benchmark.cc(52)] brotli,compression,4194304,47.2909,88691.6,3.53738
[0117/144241.066640:INFO:compression_benchmark.cc(52)] brotli,decompression,4194304,117.872,35583.6,0
[0117/144243.584041:INFO:compression_benchmark.cc(52)] brotli,compression,8388608,46.8151,179186,3.60501
[0117/144247.001310:INFO:compression_benchmark.cc(52)] brotli,decompression,8388608,128.457,65303,0
[0117/144249.432712:INFO:compression_benchmark.cc(52)] brotli,compression,16777216,48.5223,345763,3.69146
[0117/144252.761838:INFO:compression_benchmark.cc(52)] brotli,decompression,16777216,131.592,127494,0
[0117/144254.841057:INFO:compression_benchmark.cc(52)] brotli,compression,33554432,48.573,690805,4.41096
[0117/144257.709979:INFO:compression_benchmark.cc(52)] brotli,decompression,33554432,127.471,263231,0
[0117/144259.231051:INFO:compression_benchmark.cc(52)] brotli,compression,67108864,44.3017,1.51481e+06,6.53626
[0117/144301.397188:INFO:compression_benchmark.cc(52)] brotli,decompression,67108864,103.293,649697,0'''
#@title
raw_data_linux = '''[0117/142359.687962:INFO:compression_benchmark.cc(167)] Reading the input file
[0117/142402.202029:INFO:compression_benchmark.cc(52)] zstd,compression,4096,49.6986,82.4167,2.42666
[0117/142405.105664:INFO:compression_benchmark.cc(52)] zstd,decompression,4096,202.796,20.1976,0
[0117/142407.058031:INFO:compression_benchmark.cc(52)] zstd,compression,8192,61.0579,134.168,2.62147
[0117/142409.403802:INFO:compression_benchmark.cc(52)] zstd,decompression,8192,291.519,28.1011,0
[0117/142411.174046:INFO:compression_benchmark.cc(52)] zstd,compression,16384,67.2434,243.652,2.78712
[0117/142413.259053:INFO:compression_benchmark.cc(52)] zstd,decompression,16384,372.33,44.004,0
[0117/142414.563987:INFO:compression_benchmark.cc(52)] zstd,compression,32768,91.3482,358.715,2.80799
[0117/142416.145009:INFO:compression_benchmark.cc(52)] zstd,decompression,32768,432.073,75.839,0
[0117/142417.439614:INFO:compression_benchmark.cc(52)] zstd,compression,65536,91.9876,712.444,2.90414
[0117/142419.044873:INFO:compression_benchmark.cc(52)] zstd,decompression,65536,460.581,142.29,0
[0117/142420.248097:INFO:compression_benchmark.cc(52)] zstd,compression,131072,98.8511,1325.95,2.98167
[0117/142421.705604:INFO:compression_benchmark.cc(52)] zstd,decompression,131072,494.235,265.202,0
[0117/142423.239446:INFO:compression_benchmark.cc(52)] zstd,compression,262144,77.4662,3383.98,3.1464
[0117/142424.997809:INFO:compression_benchmark.cc(52)] zstd,decompression,262144,535.868,489.195,0
[0117/142426.044891:INFO:compression_benchmark.cc(52)] zstd,compression,524288,113.32,4626.6,3.15821
[0117/142427.307379:INFO:compression_benchmark.cc(52)] zstd,decompression,524288,567.387,924.04,0
[0117/142428.275792:INFO:compression_benchmark.cc(52)] zstd,compression,1048576,121.661,8618.82,3.27873
[0117/142429.433797:INFO:compression_benchmark.cc(52)] zstd,decompression,1048576,581.51,1803.2,0
[0117/142430.324080:INFO:compression_benchmark.cc(52)] zstd,compression,2097152,132.267,15855.4,3.41526
[0117/142431.422910:INFO:compression_benchmark.cc(52)] zstd,decompression,2097152,579.207,3620.73,0
[0117/142432.262794:INFO:compression_benchmark.cc(52)] zstd,compression,4194304,140.194,29917.8,3.57748
[0117/142433.296121:INFO:compression_benchmark.cc(52)] zstd,decompression,4194304,594.055,7060.46,0
[0117/142434.113096:INFO:compression_benchmark.cc(52)] zstd,compression,8388608,144.114,58208.1,3.6438
[0117/142435.142277:INFO:compression_benchmark.cc(52)] zstd,decompression,8388608,575.706,14571,0
[0117/142435.949285:INFO:compression_benchmark.cc(52)] zstd,compression,16777216,145.877,115010,3.70333
[0117/142436.980236:INFO:compression_benchmark.cc(52)] zstd,decompression,16777216,522.208,32127.4,0
[0117/142437.720231:INFO:compression_benchmark.cc(52)] zstd,compression,33554432,136.344,246102,4.36766
[0117/142438.730396:INFO:compression_benchmark.cc(52)] zstd,decompression,33554432,372.871,89989.3,0
[0117/142439.333073:INFO:compression_benchmark.cc(52)] zstd,compression,67108864,111.651,601061,6.46259
[0117/142440.221980:INFO:compression_benchmark.cc(52)] zstd,decompression,67108864,233.211,287760,0
[0117/142444.109521:INFO:compression_benchmark.cc(52)] zlib,compression,4096,30.4299,134.604,2.47021
[0117/142448.572239:INFO:compression_benchmark.cc(52)] zlib,decompression,4096,241.301,16.9746,0
[0117/142451.824960:INFO:compression_benchmark.cc(52)] zlib,compression,8192,36.5182,224.326,2.66441
[0117/142455.515120:INFO:compression_benchmark.cc(52)] zlib,decompression,8192,296.664,27.6137,0
[0117/142458.594401:INFO:compression_benchmark.cc(52)] zlib,compression,16384,38.5404,425.113,2.8314
[0117/142502.031864:INFO:compression_benchmark.cc(52)] zlib,decompression,16384,343.775,47.6591,0
[0117/142505.350198:INFO:compression_benchmark.cc(52)] zlib,compression,32768,35.7412,916.813,2.97379
[0117/142509.080258:INFO:compression_benchmark.cc(52)] zlib,decompression,32768,328.556,99.7334,0
[0117/142512.616673:INFO:compression_benchmark.cc(52)] zlib,compression,65536,33.5074,1955.86,3.08241
[0117/142516.451388:INFO:compression_benchmark.cc(52)] zlib,decompression,65536,365.652,179.231,0
[0117/142520.043437:INFO:compression_benchmark.cc(52)] zlib,compression,131072,32.9678,3975.76,3.14333
[0117/142523.939204:INFO:compression_benchmark.cc(52)] zlib,decompression,131072,376.382,348.242,0
[0117/142527.554026:INFO:compression_benchmark.cc(52)] zlib,compression,262144,32.7677,8000.07,3.1753
[0117/142531.480303:INFO:compression_benchmark.cc(52)] zlib,decompression,262144,380.361,689.197,0
[0117/142535.122241:INFO:compression_benchmark.cc(52)] zlib,compression,524288,32.441,16161.3,3.20096
[0117/142539.033247:INFO:compression_benchmark.cc(52)] zlib,decompression,524288,396.499,1322.29,0
[0117/142542.639601:INFO:compression_benchmark.cc(52)] zlib,compression,1048576,32.5939,32170.9,3.22455
[0117/142546.574323:INFO:compression_benchmark.cc(52)] zlib,decompression,1048576,396.291,2645.97,0
[0117/142550.185882:INFO:compression_benchmark.cc(52)] zlib,compression,2097152,32.5402,64448.1,3.22837
[0117/142554.094394:INFO:compression_benchmark.cc(52)] zlib,decompression,2097152,393.94,5323.54,0
[0117/142557.708237:INFO:compression_benchmark.cc(52)] zlib,compression,4194304,32.5184,128983,3.23048
[0117/142601.625410:INFO:compression_benchmark.cc(52)] zlib,decompression,4194304,402.013,10433.2,0
[0117/142605.293931:INFO:compression_benchmark.cc(52)] zlib,compression,8388608,32.0327,261876,3.2313
[0117/142609.281984:INFO:compression_benchmark.cc(52)] zlib,decompression,8388608,382.22,21947.1,0
[0117/142613.012399:INFO:compression_benchmark.cc(52)] zlib,compression,16777216,31.5012,532589,3.23176
[0117/142616.980023:INFO:compression_benchmark.cc(52)] zlib,decompression,16777216,369.688,45382.1,0
[0117/142620.201515:INFO:compression_benchmark.cc(52)] zlib,compression,33554432,31.2709,1.07302e+06,3.77326
[0117/142623.686145:INFO:compression_benchmark.cc(52)] zlib,decompression,33554432,314.212,106789,0
[0117/142625.886970:INFO:compression_benchmark.cc(52)] zlib,compression,67108864,30.5201,2.19884e+06,5.61296
[0117/142628.428712:INFO:compression_benchmark.cc(52)] zlib,decompression,67108864,205.46,326627,0
[0117/142632.987601:INFO:compression_benchmark.cc(52)] brotli,compression,4096,25.9511,157.835,2.36171
[0117/142638.320272:INFO:compression_benchmark.cc(52)] brotli,decompression,4096,159.523,25.6765,0
[0117/142641.384933:INFO:compression_benchmark.cc(52)] brotli,compression,8192,38.7681,211.308,2.5391
[0117/142645.139984:INFO:compression_benchmark.cc(52)] brotli,decompression,8192,175.199,46.7583,0
[0117/142647.496615:INFO:compression_benchmark.cc(52)] brotli,compression,16384,50.3888,325.152,2.69145
[0117/142650.489582:INFO:compression_benchmark.cc(52)] brotli,decompression,16384,185.387,88.3775,0
[0117/142652.367784:INFO:compression_benchmark.cc(52)] brotli,compression,32768,63.2154,518.355,2.81762
[0117/142654.930183:INFO:compression_benchmark.cc(52)] brotli,decompression,32768,176.961,185.171,0
[0117/142656.599250:INFO:compression_benchmark.cc(52)] brotli,compression,65536,71.0903,921.87,2.92383
[0117/142658.952964:INFO:compression_benchmark.cc(52)] brotli,decompression,65536,168.306,389.385,0
[0117/142700.514106:INFO:compression_benchmark.cc(52)] brotli,compression,131072,75.9975,1724.69,3.01838
[0117/142702.789706:INFO:compression_benchmark.cc(52)] brotli,decompression,131072,170.458,768.938,0
[0117/142704.313859:INFO:compression_benchmark.cc(52)] brotli,compression,262144,77.9324,3363.73,3.09685
[0117/142706.519608:INFO:compression_benchmark.cc(52)] brotli,decompression,262144,173.514,1510.79,0
[0117/142708.005914:INFO:compression_benchmark.cc(52)] brotli,compression,524288,79.6838,6579.6,3.1777
[0117/142710.166464:INFO:compression_benchmark.cc(52)] brotli,decompression,524288,174.121,3011.06,0
[0117/142711.617474:INFO:compression_benchmark.cc(52)] brotli,compression,1048576,81.115,12927,3.27308
[0117/142713.735523:INFO:compression_benchmark.cc(52)] brotli,decompression,1048576,175.616,5970.83,0
[0117/142715.152355:INFO:compression_benchmark.cc(52)] brotli,compression,2097152,83.0284,25258.2,3.3707
[0117/142717.230571:INFO:compression_benchmark.cc(52)] brotli,decompression,2097152,179.384,11690.9,0
[0117/142718.601839:INFO:compression_benchmark.cc(52)] brotli,compression,4194304,85.7818,48895,3.53738
[0117/142720.607780:INFO:compression_benchmark.cc(52)] brotli,decompression,4194304,183.536,22852.8,0
[0117/142721.962611:INFO:compression_benchmark.cc(52)] brotli,compression,8388608,86.8143,96627.1,3.60501
[0117/142723.928734:INFO:compression_benchmark.cc(52)] brotli,decompression,8388608,194.012,43237.6,0
[0117/142725.257312:INFO:compression_benchmark.cc(52)] brotli,compression,16777216,88.5419,189483,3.69146
[0117/142727.198103:INFO:compression_benchmark.cc(52)] brotli,decompression,16777216,192.811,87013.7,0
[0117/142728.354779:INFO:compression_benchmark.cc(52)] brotli,compression,33554432,87.2139,384737,4.41096
[0117/142730.082186:INFO:compression_benchmark.cc(52)] brotli,decompression,33554432,177.928,188584,0
[0117/142730.965837:INFO:compression_benchmark.cc(52)] brotli,compression,67108864,76.1059,881783,6.53626
[0117/142732.328395:INFO:compression_benchmark.cc(52)] brotli,decompression,67108864,138.185,485646,0'''
data_android = ParseData(raw_data_android)
data_linux = ParseData(raw_data_linux)
Plot(data_android)
Plot(data_linux)