• Benoit Lize's avatar
    tools/android: Benchmark tool for in-memory compression. · 77c03244
    Benoit Lize authored
    Adds a tool that:
    - Reads a file from disk
    - Compresses and decompresses it using {zlib,snappy}
    
    Example output (Android Go, Gobo):
    
    Gzip
    Size = 4096
    Compression
      Compression ratio = 2.46154
      Throughput = 4.97989MB/s
      Latency (size = 4096) = 822.508us
    Decompression
      Throughput = 41.4281MB/s
      Latency (size = 4096) = 98.87us
    Size = 8192
    Compression
      Compression ratio = 3.3166
      Throughput = 7.32629MB/s
      Latency (size = 8192) = 1118.16us
    Decompression
      Throughput = 63.3125MB/s
      Latency (size = 8192) = 129.39us
    Size = 16384
    Compression
      Compression ratio = 4.73937
      Throughput = 13.3032MB/s
      Latency (size = 16384) = 1231.58us
    Decompression
      Throughput = 80.3413MB/s
      Latency (size = 16384) = 203.93us
    Size = 32768
    Compression
      Compression ratio = 5.51279
      Throughput = 10.4441MB/s
      Latency (size = 32768) = 3137.45us
    Decompression
      Throughput = 108.485MB/s
      Latency (size = 32768) = 302.05us
    Size = 65536
    Compression
      Compression ratio = 5.36828
      Throughput = 15.3562MB/s
      Latency (size = 65536) = 4267.71us
    Decompression
      Throughput = 113.76MB/s
      Latency (size = 65536) = 576.09us
    Size = 131072
    Compression
      Compression ratio = 5.42517
      Throughput = 10.1509MB/s
      Latency (size = 131072) = 12912.4us
    Decompression
      Throughput = 114.958MB/s
      Latency (size = 131072) = 1140.17us
    
    [...]
    
    Snappy
    Size = 4096
    Compression
      Compression ratio = 1.78787
      Throughput = 53.2261MB/s
      Latency (size = 4096) = 76.9547us
    Decompression
      Throughput = 161.323MB/s
      Latency (size = 4096) = 25.39us
    Size = 8192
    Compression
      Compression ratio = 2.44246
      Throughput = 63.8232MB/s
      Latency (size = 8192) = 128.355us
    Decompression
      Throughput = 130.052MB/s
      Latency (size = 8192) = 62.99us
    Size = 16384
    Compression
      Compression ratio = 3.49339
      Throughput = 70.1383MB/s
      Latency (size = 16384) = 233.596us
    Decompression
      Throughput = 173.762MB/s
      Latency (size = 16384) = 94.29us
    Size = 32768
    Compression
      Compression ratio = 4.24566
      Throughput = 88.4845MB/s
      Latency (size = 32768) = 370.325us
    Decompression
      Throughput = 194.561MB/s
      Latency (size = 32768) = 168.42us
    Size = 65536
    Compression
      Compression ratio = 4.16339
      Throughput = 91.1387MB/s
      Latency (size = 65536) = 719.08us
    Decompression
      Throughput = 183.827MB/s
      Latency (size = 65536) = 356.51us
    Size = 131072
    Compression
      Compression ratio = 4.16009
      Throughput = 87.5235MB/s
      Latency (size = 131072) = 1497.56us
    Decompression
      Throughput = 171.56MB/s
      Latency (size = 131072) = 764us
    
    Bug: 860693, 837659
    Change-Id: I9887dd4b470ab1acf6d56b717fb73d33439ad453
    Reviewed-on: https://chromium-review.googlesource.com/1127991
    Commit-Queue: Benoit L <lizeb@chromium.org>
    Reviewed-by: default avatarEgor Pasko (futex_wait(&amp;secret))) <pasko@chromium.org>
    Reviewed-by: default avatarAdam Langley <agl@chromium.org>
    Reviewed-by: default avatarVictor Costan <pwnall@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#579743}
    77c03244
DEPS 68 Bytes