New issue
Advanced search Search tips
Starred by 4 users

Issue metadata

Status: Started
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Investigate the size of script source code

Project Member Reported by lizeb@chromium.org, Apr 27

Issue description

$subj
 
Project Member

Comment 1 by bugdroid1@chromium.org, May 3

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/1a0efd803ae80e4b6caa1e501a7fc3d955d2396d

commit 1a0efd803ae80e4b6caa1e501a7fc3d955d2396d
Author: Benoît Lizé <lizeb@chromium.org>
Date: Thu May 03 13:43:55 2018

Report the per-isolate total size of scripts source.

As with other code size stats, this doesn't distinguish between live and
dead objects, and doesn't scan the young generation.

Also make ExternalString::is_short() const.

Bug: chromium:837659
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: I72815edb719ba61d9727e226ff1da0fc4af22a24
Reviewed-on: https://chromium-review.googlesource.com/1032994
Commit-Queue: Benoit L <lizeb@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52955}
[modify] https://crrev.com/1a0efd803ae80e4b6caa1e501a7fc3d955d2396d/include/v8.h
[modify] https://crrev.com/1a0efd803ae80e4b6caa1e501a7fc3d955d2396d/src/api.cc
[modify] https://crrev.com/1a0efd803ae80e4b6caa1e501a7fc3d955d2396d/src/heap/code-stats.cc
[modify] https://crrev.com/1a0efd803ae80e4b6caa1e501a7fc3d955d2396d/src/heap/heap.cc
[modify] https://crrev.com/1a0efd803ae80e4b6caa1e501a7fc3d955d2396d/src/heap/object-stats.cc
[modify] https://crrev.com/1a0efd803ae80e4b6caa1e501a7fc3d955d2396d/src/isolate.h
[modify] https://crrev.com/1a0efd803ae80e4b6caa1e501a7fc3d955d2396d/src/objects.cc
[modify] https://crrev.com/1a0efd803ae80e4b6caa1e501a7fc3d955d2396d/src/objects/string-inl.h
[modify] https://crrev.com/1a0efd803ae80e4b6caa1e501a7fc3d955d2396d/src/objects/string.h

Project Member

Comment 2 by bugdroid1@chromium.org, May 4

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/e0c31d63dd614ade7d92c4678b82cff9249b69d7

commit e0c31d63dd614ade7d92c4678b82cff9249b69d7
Author: Benoît Lizé <lizeb@chromium.org>
Date: Fri May 04 13:22:49 2018

Fix ExternalString::ExternalPayloadSize().

ExternalString::kShortSize is not the same as i::kShortSize, caused
incorrect reporting for code stats for two byte strings.

Bug: chromium:837659
Change-Id: Icbb39f2103aa4fa72bd5b1258cb8e1d4aee10441
Reviewed-on: https://chromium-review.googlesource.com/1044212
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Benoit L <lizeb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52992}
[modify] https://crrev.com/e0c31d63dd614ade7d92c4678b82cff9249b69d7/src/objects.cc

Project Member

Comment 3 by bugdroid1@chromium.org, May 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/baac084ea0db67c7dc8f697d856d29467839a497

commit baac084ea0db67c7dc8f697d856d29467839a497
Author: Benoit Lize <lizeb@chromium.org>
Date: Thu May 17 09:47:23 2018

memory-infra: Reports per-isolate size of scripts source.

This reports the total size of source code size for all external scripts
in a V8 isolate. As with other V8 code stats, this doesn't distinguish
between live and dead objects and doesn't scan the young generation.

Bug: 837659
Change-Id: I746729f3c167cbad847599b4b128fa517a116c7e
Reviewed-on: https://chromium-review.googlesource.com/1032936
Reviewed-by: Primiano Tucci <primiano@chromium.org>
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Commit-Queue: Benoit L <lizeb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#559473}
[modify] https://crrev.com/baac084ea0db67c7dc8f697d856d29467839a497/gin/v8_isolate_memory_dump_provider.cc

Project Member

Comment 4 by bugdroid1@chromium.org, May 30

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d3784addd10318097a821893701ccb7154b5620f

commit d3784addd10318097a821893701ccb7154b5620f
Author: Benoit Lize <lizeb@chromium.org>
Date: Wed May 30 17:18:21 2018

memory-infra: Add test for code stats memory dump.

Bug: 837659
Change-Id: Ic7914f5ad54311cc8ecacc7cb525525895ae5d96
Reviewed-on: https://chromium-review.googlesource.com/1063752
Commit-Queue: Benoit L <lizeb@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562881}
[modify] https://crrev.com/d3784addd10318097a821893701ccb7154b5620f/gin/v8_isolate_memory_dump_provider_unittest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Jun 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/989545c9dfe41a3159e664a08641da139111c7c0

commit 989545c9dfe41a3159e664a08641da139111c7c0
Author: Benoit Lize <lizeb@chromium.org>
Date: Thu Jun 28 11:25:08 2018

tools/android: Disk IO simple benchmark tool.

Adds a simple tool writing random data to a file, then reading it. The
file is optionally evicted from the OS page cache between the read and
write. This is used to assess device IO performance locally.

From an Android Go device (Gobo) running O MR1 with 360MB free on /data:

Without the OS page cache:
$ adb shell /data/local/tmp/io_benchmark /data/local/tmp/test 1
Size = 4096
 Write 4096 = 50.0us (81.92MB/s)
 Read 4096 = 1489.0us (2.75MB/s)
Size = 8192
 Write 8192 = 61.0us (134.30MB/s)
 Read 8192 = 1486.0us (5.51MB/s)
Size = 16384
 Write 16384 = 81.0us (202.27MB/s)
 Read 16384 = 1602.0us (10.23MB/s)
Size = 32768
 Write 32768 = 145.0us (225.99MB/s)
 Read 32768 = 1877.0us (17.46MB/s)
Size = 65536
 Write 65536 = 215.0us (304.82MB/s)
 Read 65536 = 2656.0us (24.67MB/s)
Size = 131072
 Write 131072 = 468.0us (280.07MB/s)
 Read 131072 = 4531.0us (28.93MB/s)
Size = 262144
 Write 262144 = 642.0us (408.32MB/s)
 Read 262144 = 5041.0us (52.00MB/s)
Size = 524288
 Write 524288 = 1219.0us (430.10MB/s)
 Read 524288 = 8949.0us (58.59MB/s)
Size = 1048576
 Write 1048576 = 2466.0us (425.21MB/s)
 Read 1048576 = 13606.0us (77.07MB/s)
Size = 2097152
 Write 2097152 = 4908.0us (427.29MB/s)
 Read 2097152 = 25840.0us (81.16MB/s)
Size = 4194304
 Write 4194304 = 9502.0us (441.41MB/s)
 Read 4194304 = 76867.0us (54.57MB/s)
Size = 8388608
 Write 8388608 = 20814.0us (403.03MB/s)
 Read 8388608 = 119062.0us (70.46MB/s)

With it:
$ adb shell /data/local/tmp/io_benchmark /data/local/tmp/test 0
Size = 4096
 Write 4096 = 56.0us (73.14MB/s)
 Read 4096 = 172.0us (23.81MB/s)
Size = 8192
 Write 8192 = 65.0us (126.03MB/s)
 Read 8192 = 23.0us (356.17MB/s)
Size = 16384
 Write 16384 = 101.0us (162.22MB/s)
 Read 16384 = 35.0us (468.11MB/s)
Size = 32768
 Write 32768 = 134.0us (244.54MB/s)
 Read 32768 = 57.0us (574.88MB/s)
Size = 65536
 Write 65536 = 229.0us (286.18MB/s)
 Read 65536 = 109.0us (601.25MB/s)
Size = 131072
 Write 131072 = 348.0us (376.64MB/s)
 Read 131072 = 170.0us (771.01MB/s)
Size = 262144
 Write 262144 = 721.0us (363.58MB/s)
 Read 262144 = 354.0us (740.52MB/s)
Size = 524288
 Write 524288 = 1895.0us (276.67MB/s)
 Read 524288 = 783.0us (669.59MB/s)
Size = 1048576
 Write 1048576 = 2405.0us (436.00MB/s)
 Read 1048576 = 2872.0us (365.10MB/s)
Size = 2097152
 Write 2097152 = 4688.0us (447.34MB/s)
 Read 2097152 = 3398.0us (617.17MB/s)
Size = 4194304
 Write 4194304 = 10358.0us (404.93MB/s)
 Read 4194304 = 6556.0us (639.77MB/s)
Size = 8388608
 Write 8388608 = 19040.0us (440.58MB/s)
 Read 8388608 = 17753.0us (472.52MB/s)

TBR=digit@chromium.org  # per tools/OWNERS

Bug: 837659,  857070 
Change-Id: I33fe4aeb287a5c5910c941a580093d9fecf8f758
Reviewed-on: https://chromium-review.googlesource.com/1116700
Commit-Queue: Benoit L <lizeb@chromium.org>
Reviewed-by: Benoit L <lizeb@chromium.org>
Reviewed-by: David Turner <digit@chromium.org>
Reviewed-by: Egor Pasko <pasko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571077}
[modify] https://crrev.com/989545c9dfe41a3159e664a08641da139111c7c0/tools/android/BUILD.gn
[add] https://crrev.com/989545c9dfe41a3159e664a08641da139111c7c0/tools/android/io_benchmark/BUILD.gn
[add] https://crrev.com/989545c9dfe41a3159e664a08641da139111c7c0/tools/android/io_benchmark/OWNERS
[add] https://crrev.com/989545c9dfe41a3159e664a08641da139111c7c0/tools/android/io_benchmark/io_benchmark.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Jul 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1786f52e92d01a6893d2d1d13c003aab27321c1c

commit 1786f52e92d01a6893d2d1d13c003aab27321c1c
Author: Benoit Lize <lizeb@chromium.org>
Date: Tue Jul 03 15:34:25 2018

blink: Add MovableString for parkable strings, and use it for JS source.

This CL introduces MovableString to hold javascript string
resources. This class may move its data, although this CL only
introduces the simulation of it in order to gather data about such an
approach.

This CL is essentially a port of
https://codereview.chromium.org/1583263002 from hajimehoshi@. It has
been updated to the new conventions and coding style, but is otherwise
equivalent, with changes to histogram collection and triggering.

Bug: 837659, 574317 
Change-Id: I9028fd941f3d235761f10a2147ab21e31edac6d6
Reviewed-on: https://chromium-review.googlesource.com/1082445
Commit-Queue: Benoit L <lizeb@chromium.org>
Reviewed-by: Steven Holte <holte@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572229}
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/bindings/core/v8/script_source_code.cc
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/bindings/core/v8/script_source_code.h
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/core/inspector/inspector_page_agent.cc
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/core/loader/modulescript/document_module_script_fetcher.cc
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/core/loader/modulescript/module_script_creation_params.h
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/core/loader/resource/script_resource.cc
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/core/loader/resource/script_resource.h
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/core/script/classic_script.h
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/core/script/module_map_test.cc
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/core/script/module_script.cc
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/core/script/module_script.h
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/core/script/script_loader.cc
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/platform/bindings/string_resource.cc
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/platform/bindings/string_resource.h
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/platform/bindings/v8_binding.h
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/platform/bindings/v8_value_cache.cc
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/platform/bindings/v8_value_cache.h
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_metrics_helper_unittest.cc
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl.cc
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/platform/wtf/BUILD.gn
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/platform/wtf/DEPS
[add] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/platform/wtf/text/movable_string.cc
[add] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/platform/wtf/text/movable_string.h
[add] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/platform/wtf/text/movable_string_test.cc
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/platform/wtf/wtf_thread_data.cc
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/third_party/blink/renderer/platform/wtf/wtf_thread_data.h
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/1786f52e92d01a6893d2d1d13c003aab27321c1c/tools/metrics/histograms/histograms.xml

Project Member

Comment 7 by bugdroid1@chromium.org, Jul 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4ffe6e1b58277d3b63880a6fe2da40c2f005aeb9

commit 4ffe6e1b58277d3b63880a6fe2da40c2f005aeb9
Author: Benoit Lize <lizeb@chromium.org>
Date: Tue Jul 10 11:34:37 2018

blink/wtf: Fix histogram reporting for MovableString, add tests.

Fix histogram reporting for "Memory.MovableStringParkingAction", and add
unittests to check the Memory.MovableString* histograms.

Bug: 837659
Change-Id: I632d2c6a9ef607057121be86fa2351a0dcc65d23
Reviewed-on: https://chromium-review.googlesource.com/1131074
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Benoit L <lizeb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573683}
[modify] https://crrev.com/4ffe6e1b58277d3b63880a6fe2da40c2f005aeb9/third_party/blink/renderer/platform/wtf/DEPS
[modify] https://crrev.com/4ffe6e1b58277d3b63880a6fe2da40c2f005aeb9/third_party/blink/renderer/platform/wtf/text/movable_string.cc
[modify] https://crrev.com/4ffe6e1b58277d3b63880a6fe2da40c2f005aeb9/third_party/blink/renderer/platform/wtf/text/movable_string.h
[modify] https://crrev.com/4ffe6e1b58277d3b63880a6fe2da40c2f005aeb9/third_party/blink/renderer/platform/wtf/text/movable_string_test.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Jul 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d1fef2b1ad38fe1ef8c3914fb5dadc39bae80b9b

commit d1fef2b1ad38fe1ef8c3914fb5dadc39bae80b9b
Author: Benoit Lize <lizeb@chromium.org>
Date: Thu Jul 12 12:09:37 2018

blink/wtf: Really move MovableStrings when DCHECK_IS_ON.

When a MovableString is parked, actually park the content, and poison
the previous allocation. This is intended to find cached raw pointer
accesses, which are not allowed beyond the UI thread task per the
contract of the class.
Enabled only when DCHECK_IS_ON to prevent potential crashes.

Changes with and without DCHECK()s:
- Cache some String properties in MovableStringImpl
- Add a parked_strings_ to MovableStringTable for accounting, and
  update tests accordingly.

Changes with DCHECK()s:
- Add a parked_string_ member to MovableStringImpl
- Copy the string to the parked version in Park(), and poison the
  previous allocation.
- Restore the string in Unpark().

Bug: 837659
Change-Id: Ib7631d5e12471826c9e71a424e30d26cf8f1f042
Reviewed-on: https://chromium-review.googlesource.com/1133169
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Benoit L <lizeb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#574529}
[modify] https://crrev.com/d1fef2b1ad38fe1ef8c3914fb5dadc39bae80b9b/third_party/blink/renderer/platform/wtf/text/movable_string.cc
[modify] https://crrev.com/d1fef2b1ad38fe1ef8c3914fb5dadc39bae80b9b/third_party/blink/renderer/platform/wtf/text/movable_string.h
[modify] https://crrev.com/d1fef2b1ad38fe1ef8c3914fb5dadc39bae80b9b/third_party/blink/renderer/platform/wtf/text/movable_string_test.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Jul 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/38b255587ab8598eee49da1b7581646682f6d5f5

commit 38b255587ab8598eee49da1b7581646682f6d5f5
Author: Benoit L <lizeb@chromium.org>
Date: Tue Jul 17 02:49:59 2018

Revert "blink/wtf: Really move MovableStrings when DCHECK_IS_ON."

This reverts commit d1fef2b1ad38fe1ef8c3914fb5dadc39bae80b9b.

Reason for revert: Suspected culprit for crbug.com/863786

Original change's description:
> blink/wtf: Really move MovableStrings when DCHECK_IS_ON.
>
> When a MovableString is parked, actually park the content, and poison
> the previous allocation. This is intended to find cached raw pointer
> accesses, which are not allowed beyond the UI thread task per the
> contract of the class.
> Enabled only when DCHECK_IS_ON to prevent potential crashes.
>
> Changes with and without DCHECK()s:
> - Cache some String properties in MovableStringImpl
> - Add a parked_strings_ to MovableStringTable for accounting, and
>   update tests accordingly.
>
> Changes with DCHECK()s:
> - Add a parked_string_ member to MovableStringImpl
> - Copy the string to the parked version in Park(), and poison the
>   previous allocation.
> - Restore the string in Unpark().
>
> Bug: 837659
> Change-Id: Ib7631d5e12471826c9e71a424e30d26cf8f1f042
> Reviewed-on: https://chromium-review.googlesource.com/1133169
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Commit-Queue: Benoit L <lizeb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#574529}

TBR=haraken@chromium.org,lizeb@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 837659, 863786
Change-Id: I380210859a1eed42d869c1548d0d93b0e8606e58
Reviewed-on: https://chromium-review.googlesource.com/1138873
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Benoit L <lizeb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575530}
[modify] https://crrev.com/38b255587ab8598eee49da1b7581646682f6d5f5/third_party/blink/renderer/platform/wtf/text/movable_string.cc
[modify] https://crrev.com/38b255587ab8598eee49da1b7581646682f6d5f5/third_party/blink/renderer/platform/wtf/text/movable_string.h
[modify] https://crrev.com/38b255587ab8598eee49da1b7581646682f6d5f5/third_party/blink/renderer/platform/wtf/text/movable_string_test.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Aug 1

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/77c03244382368a1b63196ce42ff6f1607762a60

commit 77c03244382368a1b63196ce42ff6f1607762a60
Author: Benoit Lize <lizeb@chromium.org>
Date: Wed Aug 01 09:57:15 2018

tools/android: Benchmark tool for in-memory compression.

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: Egor Pasko (futex_wait(&secret))) <pasko@chromium.org>
Reviewed-by: Adam Langley <agl@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579743}
[modify] https://crrev.com/77c03244382368a1b63196ce42ff6f1607762a60/tools/android/io_benchmark/BUILD.gn
[add] https://crrev.com/77c03244382368a1b63196ce42ff6f1607762a60/tools/android/io_benchmark/DEPS
[add] https://crrev.com/77c03244382368a1b63196ce42ff6f1607762a60/tools/android/io_benchmark/compression_benchmark.cc

Sign in to add a comment