Investigate the size of script source code |
|||
Issue description$subj
,
May 4 2018
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
,
May 17 2018
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
,
May 30 2018
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
,
Jun 28 2018
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
,
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
,
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
,
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
,
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
,
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
,
Aug 23
,
Aug 23
Report: https://docs.google.com/document/d/14acvVUnaiTjbZXjfTiwMk5IBZTiHEvWiOHieLjfrDGo/edit |
|||
►
Sign in to add a comment |
|||
Comment 1 by bugdroid1@chromium.org
, May 3 2018