Zhaomo Yang via llvm-dev
2018-Jul-18 00:27 UTC
[llvm-dev] Proposal of changing the padding cap for each vtable in the forward-edge CFI
Hi folks, The existing implementation of the forward-edge CFI for virtual calls currently has a 128-byte cap [1] on the amount of padding for each vtable. This cap was established a long time ago so I collected code size and performance data for different caps on the vtable padding size to see if there is a better value. Experiment Setup: Program under test: Chromium (commit 6407dba4c9759affdb5ef44b9235601bc6b4ba9e) Compiler: Clang (revision 334100, which is required by the version of Chromium used in the experiments) Testing platorms: 1) x86-64: CPU: Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz OS: Debian GNU/Linux (Linux version 4.9.0-6-amd64) RAM: 128 GB 2) ARM-64 Model: Pixel 2 OS: Android 8.1.0 Test results: 1) Code size a) x86-64 The results are shown in size-x64.png. "x64-[num]" represents the size of the Chromium build with the cap value of [num]. b) ARM-64 The results are shown in size-arm64.png. "arm64-[num]" represents the size of the Chromium build with the cap value of [num]. On both platforms, 32-byte cap value generates the smallest binary. 2) Performance tests I used Telemetry [2] to benchmark the performance of the builds. a) x86-64 The results are shown in perf-x64.txt. This file provides the regressions of each cap value compared with the exisiting 128-byte cap value. b) ARM-64 The results are shown in perf-arm64.txt. This file provides the regressions of each cap value compared with the exisiting 128-byte cap value. On both platforms, none of the cap values makes a significant performance impact. Considering the noise involved in the performance tests, the absolute numbers here are not too meaningful. All we can learn is that different cap values yield similar performance. Because the 32-byte cap value seems to reduce the code size while maintain the similar performance, I propose to change the cap value from 128-byte to 32-byte. The patch can be found here: https://reviews.llvm.org/D49405 Please let me know if there are any questions or issues. Thanks, Zhaomo [1] https://github.com/llvm-mirror/llvm/blob/a94df7d526ce45abe6b10f04b4a73a3aa3bef0a4/lib/Transforms/IPO/LowerTypeTests.cpp#L774 [2] https://github.com/catapult-project/catapult/blob/master/telemetry/README.md -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180717/96517e08/attachment-0001.html> -------------- next part -------------- +------------------------------------------+----------+-----------+----------+----------+---------+ | ./apk-perf-results-new-subset/blink_perf.bindings.html | +------------------------------------------+----------+-----------+----------+----------+---------+ | Benchmark | arm64-16 | arm64-256 | arm64-32 | arm64-64 | arm64-8 | +------------------------------------------+----------+-----------+----------+----------+---------+ | document-implementation | -0.04% | 0.04% | 0.22% | -0.05% | -0.10% | | typed-array-set-from-typed | -0.01% | -0.01% | -0.04% | -0.06% | -0.03% | | node-list-access | 0.27% | -0.21% | 0.45% | 0.13% | 0.22% | | named-property-enumerator | -0.05% | 0.05% | 0.09% | -0.07% | -0.03% | | insert-before | 0.37% | -0.12% | 1.66% | -0.19% | 0.20% | | id-getter | -0.01% | 2.40% | 0.14% | -0.99% | -0.96% | | get-attribute | -2.03% | -1.48% | -1.80% | -1.77% | -2.25% | | gc-forest | 2.90% | -0.54% | -0.37% | -1.22% | 0.13% | | post-message | -1.79% | -0.72% | 0.12% | 0.96% | -1.91% | | undefined-first-child | -8.74% | -9.81% | -9.89% | -5.57% | -8.92% | | serialize-nested-array | 25.00% | 0.00% | 25.00% | 0.00% | 0.00% | | structured-clone-json-serialize | 1.03% | -1.55% | -0.52% | 0.52% | 0.52% | | sequence-conversion-custom-iterator | -3.45% | -1.69% | -5.27% | -4.29% | -1.65% | | get-attribute-rare | -1.26% | -0.48% | -1.40% | -0.07% | -2.10% | | undefined-get-element-by-id | -2.81% | -0.09% | -3.49% | -3.56% | -3.12% | | set-attribute | 1.04% | 6.77% | 2.54% | 4.72% | 1.54% | | gc-tree | 0.45% | 0.18% | 0.55% | -0.17% | 0.10% | | id-setter | 0.87% | 0.31% | -0.29% | -1.98% | 1.87% | | first-child | -5.47% | -5.21% | -5.02% | -4.03% | -3.99% | | create-element | 2.44% | -0.75% | 0.30% | -0.73% | 0.33% | | typed-array-construct-from-typed | 0.62% | 1.05% | 0.17% | 0.24% | 0.69% | | gc-mini-tree | 1.76% | 0.22% | -0.26% | -1.21% | 0.10% | | structured-clone-long-string-deserialize | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% | | serialize-map | 0.31% | 0.50% | -0.23% | 0.00% | -0.31% | | structured-clone-long-string-serialize | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% | | dom-attribute-on-prototoype | -0.77% | -0.75% | -1.11% | -0.89% | -0.68% | | append-child | 0.95% | 1.16% | 2.62% | 1.16% | 2.73% | | typed-array-construct-from-array | 0.03% | -1.53% | 0.25% | 0.05% | 0.16% | | node-type | -0.05% | 0.08% | 0.05% | -0.04% | -0.14% | | indexed-getter | -0.23% | -0.00% | -0.09% | -0.21% | -0.04% | | set-attribute-rare | 0.77% | 5.52% | 0.66% | 1.18% | -0.74% | | serialize-array | -0.84% | -1.12% | -0.28% | -1.12% | -0.56% | | undefined-id-getter | 0.54% | 1.86% | 0.60% | 4.42% | -0.45% | | typed-array-construct-from-same-type | 0.59% | 0.87% | 1.32% | -0.06% | 0.81% | | sequence-conversion-array | -1.88% | -3.25% | -3.22% | -3.39% | -3.85% | | serialize-long-string | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% | | get-elements-by-tag-name | 2.40% | 2.11% | 0.74% | 1.29% | 0.12% | | get-element-by-id | -1.56% | 0.29% | -2.48% | -2.33% | -1.52% | | structured-clone-json-deserialize | -1.19% | 1.19% | -1.79% | -1.19% | -0.60% | +------------------------------------------+----------+-----------+----------+----------+---------+ | Average | 0.26% | -0.12% | -0.00% | -0.53% | -0.63% | +------------------------------------------+----------+-----------+----------+----------+---------+ +----------------------------------------------------+----------+-----------+----------+----------+---------+ | ./apk-perf-results-new-subset/blink_perf.canvas.html | +----------------------------------------------------+----------+-----------+----------+----------+---------+ | Benchmark | arm64-16 | arm64-256 | arm64-32 | arm64-64 | arm64-8 | +----------------------------------------------------+----------+-----------+----------+----------+---------+ | drawimage-not-pixelaligned | 1.13% | 0.13% | -0.10% | 1.12% | 0.01% | | putImageData | -2.53% | -0.36% | -1.88% | -0.54% | 0.08% | | upload-webgl-to-texture | -0.55% | 0.22% | -0.72% | 0.22% | -0.00% | | toBlob_duration | -0.15% | -0.23% | -0.45% | -0.51% | -0.80% | | draw-static-canvas-2d-to-hw-accelerated-canvas-2d | 7.27% | 1.92% | 3.16% | 6.13% | 9.47% | | draw-dynamic-webgl-to-hw-accelerated-canvas-2d | -0.17% | -0.33% | 0.82% | 1.14% | 1.62% | | draw-static-webgl-to-hw-accelerated-canvas-2d | 0.00% | -3.21% | -1.90% | 1.83% | 0.62% | | draw-hw-accelerated-canvas-2d-to-sw-canvas-2d | 0.60% | 0.60% | -6.45% | 2.94% | 1.20% | | drawimage | -0.12% | -0.97% | 0.24% | 0.77% | 0.32% | | getImageDataColorManaged | -0.00% | -0.06% | -0.00% | 0.02% | -0.06% | | upload-canvas-2d-to-texture | 0.25% | 0.06% | -0.79% | 0.12% | 0.25% | | createImageBitmapFromImageData | -0.07% | -0.08% | -0.01% | 0.01% | -0.01% | | transferFromImageBitmap | 1.81% | -0.53% | 0.52% | 1.81% | 3.06% | | draw-dynamic-canvas-2d-to-hw-accelerated-canvas-2d | 1.02% | 1.02% | 0.62% | 1.43% | 0.82% | | toBlob_duration_jpeg | 1.02% | 1.20% | 1.49% | 0.51% | 0.91% | | getImageData | 0.09% | -0.08% | 3.16% | -0.03% | 0.16% | +----------------------------------------------------+----------+-----------+----------+----------+---------+ | Average | 0.60% | -0.04% | -0.14% | 1.06% | 1.10% | +----------------------------------------------------+----------+-----------+----------+----------+---------+ +--------------------------------+----------+-----------+----------+----------+---------+ | ./apk-perf-results-new-subset/blink_perf.dom.html | +--------------------------------+----------+-----------+----------+----------+---------+ | Benchmark | arm64-16 | arm64-256 | arm64-32 | arm64-64 | arm64-8 | +--------------------------------+----------+-----------+----------+----------+---------+ | modify-element-classname | 4.32% | 6.19% | 1.07% | 4.65% | 5.31% | | div-editable | -0.45% | -0.30% | -0.66% | -0.79% | -0.12% | | remove_child_with_selection | 0.00% | -2.22% | 0.00% | -2.22% | 0.00% | | textarea-dom | 0.03% | -0.09% | -0.23% | -0.04% | 0.07% | | long-sibling-list | 1.63% | 1.02% | 0.41% | 1.01% | 1.96% | | textarea-edit | -0.15% | 1.04% | 1.00% | 0.92% | 1.63% | | modify-element-id | -0.26% | 2.64% | -0.49% | 1.73% | 4.25% | | delete-in-password-field | 0.33% | 0.83% | 0.50% | -0.00% | 1.17% | | move-down-with-hidden-elements | 0.00% | 0.00% | -0.00% | -0.00% | 0.00% | | modify-element-title | 1.20% | 2.20% | 1.79% | 4.65% | 3.61% | | inner_html_with_selection | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% | | select-multiple-add | 0.27% | 0.93% | 0.59% | -1.79% | -1.76% | | move-up-with-hidden-elements | 0.00% | 0.00% | 0.00% | -0.00% | 0.00% | | select-single-remove | 0.62% | 0.33% | -0.26% | 0.27% | 0.46% | | select-single-add | -2.07% | -1.44% | 0.34% | 0.49% | -2.08% | | addRange | -0.48% | -1.94% | -0.93% | -0.42% | -1.71% | +--------------------------------+----------+-----------+----------+----------+---------+ | Average | 0.31% | 0.57% | 0.20% | 0.53% | 0.80% | +--------------------------------+----------+-----------+----------+----------+---------+ +------------------------------------------------------------------+----------+-----------+----------+----------+---------+ | ./apk-perf-results-new-subset/blink_perf.layout.html | +------------------------------------------------------------------+----------+-----------+----------+----------+---------+ | Benchmark | arm64-16 | arm64-256 | arm64-32 | arm64-64 | arm64-8 | +------------------------------------------------------------------+----------+-----------+----------+----------+---------+ | flexbox-lots-of-data | 0.47% | -0.00% | -1.46% | 0.52% | 0.60% | | large-table-with-collapsed-borders-and-colspans | 1.70% | 0.51% | 0.94% | -0.01% | 2.96% | | line-layout-line-height | 0.42% | 0.11% | -3.83% | -0.31% | -1.04% | | multicol_lots-of-text-balanced | 1.21% | 1.62% | -1.67% | 0.24% | 1.39% | | floats_50_100 | 1.70% | -0.05% | -1.35% | -1.82% | 0.64% | | long-line-nowrap | 0.31% | 0.11% | -0.02% | 0.49% | 0.45% | | multicol_deeply-nested-tables | 0.14% | 1.02% | 0.54% | 0.18% | 0.14% | | large-table-with-collapsed-borders-and-colspans-wider-than-table | 1.77% | 1.11% | 0.19% | -0.19% | 2.33% | | vertical-japanese-kokoro-insert | 1.04% | 0.06% | -1.16% | 0.69% | 0.35% | | subtree-detaching | -1.40% | 2.40% | 6.10% | 0.55% | -0.13% | | flexbox-column-wrap | 1.08% | 1.43% | -0.47% | -0.13% | 0.71% | | attach-inlines | -0.67% | -0.40% | -0.65% | -0.20% | -0.96% | | ArabicLineLayout | 0.84% | -0.04% | 0.61% | 0.73% | 0.69% | | Shapes_MultipleShapes | 0.25% | 0.00% | 0.00% | 0.00% | 0.00% | | line-layout | 0.28% | 2.44% | -2.61% | -0.52% | 0.84% | | fixed-grid-lots-of-data | 0.01% | 0.37% | -0.27% | -0.08% | -0.12% | | floats_20_100_nested | 0.41% | -0.11% | -1.06% | -1.30% | -0.09% | | multicol_tall-content-short-columns-realistic | 1.46% | 1.02% | 1.29% | 7.10% | 0.91% | | flexbox-row-wrap | 0.30% | 0.19% | -2.23% | -1.46% | -0.36% | | hindi-line-layout | -0.21% | -0.58% | -0.55% | -1.26% | -0.35% | | multicol_tall-content-short-columns | 1.39% | 1.26% | 1.39% | 6.03% | 0.97% | | long-line-nowrap-collapse | -0.39% | -0.98% | -0.98% | 0.20% | -0.59% | | floats_20_100 | -0.24% | 0.10% | -2.24% | -2.21% | -0.00% | | chapter-reflow-once-random | 0.19% | 0.57% | 0.76% | 0.92% | 1.90% | | floats_100_100_nested | 4.85% | 0.56% | 0.34% | -0.26% | 2.10% | | nested-percent-height-tables | 2.42% | 3.46% | 1.98% | 2.51% | 0.93% | | chapter-reflow | 1.76% | 2.99% | -1.78% | 0.87% | 1.64% | | chapter-reflow-once | 0.64% | 1.62% | -1.55% | 0.23% | 1.11% | | word-break-break-all | 0.95% | 0.41% | 0.37% | 0.43% | 0.97% | | latin-complex-text | 0.00% | 0.00% | -1.97% | -1.32% | 0.66% | | SimpleTextPathLineLayout | 0.82% | 2.46% | -2.50% | -0.72% | 1.60% | | word-break-break-word | 0.49% | 0.06% | 0.39% | 0.24% | 0.13% | | chapter-reflow-thrice | 1.13% | 1.88% | -1.71% | 0.95% | 0.91% | | add-remove-inline-floats | 4.82% | 1.45% | 0.56% | 0.54% | 1.92% | | nested-blocks-with-percent-height-and-max-height | 4.03% | 3.54% | 4.14% | 2.02% | 3.25% | | floats_50_100_nested | 1.39% | -0.36% | -1.25% | -1.77% | 0.51% | | layers_overlap_3d | 2.45% | 4.56% | 1.95% | 0.80% | 3.10% | | layers_overlap_2d | 3.08% | 1.57% | 0.87% | -0.23% | 2.53% | | floats_100_100 | 4.27% | 0.55% | -0.23% | 0.23% | 2.20% | | line-layout-repeat-append | -0.21% | 0.16% | -0.39% | -0.45% | -0.57% | | multicol_fixed-height-with-spanner-and-nested-tables | 1.09% | 1.47% | 7.53% | 0.56% | 2.38% | | multicol_lots-of-text-balanced-orphans-widows | 1.56% | 2.08% | -1.23% | 0.92% | 1.35% | | multicol_lots-of-text-autofill | 0.06% | 0.37% | -2.02% | -0.56% | 0.76% | | floats_2_100 | -1.74% | -0.39% | -3.10% | -2.71% | -2.41% | | word-wrap-break-word | 0.28% | -0.24% | 0.02% | -0.21% | 0.02% | | character_fallback | 0.45% | 0.05% | 0.14% | -0.23% | 0.18% | | long-line-nowrap-spans-collapse | -0.19% | -0.19% | -0.75% | 0.00% | 0.00% | | attach-inlines-2 | 0.30% | 0.39% | -0.54% | -0.65% | 0.13% | | floats_10_1000 | 0.38% | -0.04% | -0.14% | -0.49% | -0.10% | | flexbox-deeply-nested-column-flow | 0.90% | 1.01% | 1.33% | 0.73% | 1.33% | | large-table-with-collapsed-borders-and-no-colspans | 0.83% | 0.72% | 0.39% | -0.30% | 3.09% | | flexbox-with-stretch-layout | 0.67% | 1.55% | -0.31% | 1.18% | 0.06% | | flexbox-column-nowrap | 0.76% | 1.53% | -0.41% | -0.54% | 0.69% | | chapter-reflow-twice | 0.47% | 1.35% | -1.91% | 0.09% | 0.49% | | flexbox-row-nowrap | -0.03% | 0.38% | -2.50% | -1.35% | -0.60% | | fixed-grid-lots-of-stretched-data | 1.00% | 1.41% | 0.84% | 0.84% | 0.23% | | auto-grid-lots-of-data | 0.11% | 0.82% | 0.68% | 0.70% | 1.18% | | floats_2_100_nested | 0.84% | 1.09% | -0.53% | -0.34% | -0.11% | | nested-grid | 1.63% | 0.44% | 1.29% | 0.07% | 1.58% | +------------------------------------------------------------------+----------+-----------+----------+----------+---------+ | Average | 0.92% | 0.86% | -0.18% | 0.17% | 0.75% | +------------------------------------------------------------------+----------+-----------+----------+----------+---------+ +--------------------------------------+----------+-----------+----------+----------+---------+ | ./apk-perf-results-new-subset/blink_perf.parser.html | +--------------------------------------+----------+-----------+----------+----------+---------+ | Benchmark | arm64-16 | arm64-256 | arm64-32 | arm64-64 | arm64-8 | +--------------------------------------+----------+-----------+----------+----------+---------+ | query-selector-id-last | 2.20% | 1.94% | 1.70% | 4.67% | 3.99% | | css-parser-yui | 1.65% | 0.68% | -0.08% | -0.61% | 0.95% | | query-selector-all-class-deep | -5.02% | -2.61% | -0.09% | -5.56% | -2.70% | | query-selector-all-deep | 0.75% | -1.84% | 0.86% | 0.71% | -1.72% | | url-parser | -5.25% | -5.14% | -3.41% | -3.83% | -1.21% | | query-selector-last | -0.05% | -0.74% | 0.98% | 0.61% | -0.41% | | query-selector-all-id-deep | -0.55% | -1.60% | -2.30% | 0.85% | -0.89% | | innerHTML-setter | 2.27% | -0.23% | 3.16% | 1.20% | 1.42% | | html-parser-threaded | 4.95% | 5.34% | -1.54% | 5.12% | 5.24% | | textarea-parsing | 0.42% | -0.25% | 0.07% | -0.01% | 0.12% | | iframe-append-remove | 0.12% | -0.28% | 0.04% | 0.08% | -0.12% | | query-selector-all-id-first | 0.61% | -1.74% | -0.03% | 0.26% | 1.10% | | html5-full-render | 0.17% | 0.75% | -0.49% | -0.00% | 0.04% | | query-selector-all-id-last | 2.21% | 0.48% | -0.14% | 4.70% | 2.71% | | query-selector-all-class | 0.86% | 0.24% | -8.16% | 0.91% | 0.53% | | query-selector-all-first | 1.41% | -2.20% | 0.29% | -0.06% | -1.65% | | tiny-innerHTML | 4.36% | 1.98% | 3.18% | 3.25% | 2.34% | | query-selector-all-last | 0.69% | -1.39% | -0.10% | 0.53% | -2.28% | | query-selector-deep | -1.97% | -1.43% | 1.78% | -2.13% | -0.70% | | query-selector-all-class-last | -8.59% | -4.30% | -0.16% | -8.86% | -4.51% | | query-selector-first | 3.37% | 2.57% | 0.99% | 2.01% | 2.16% | | query-selector-all-attribute | -5.69% | 0.48% | -1.42% | -0.25% | 0.01% | | query-selector-all-attribute-complex | -5.27% | -4.77% | -0.42% | -5.41% | 0.38% | | innerHTML-setter-siblings | -0.51% | 0.34% | 1.88% | 0.62% | 1.63% | | html-parser | 1.29% | 0.43% | 1.73% | 0.21% | 1.41% | | query-selector-id-deep | 1.42% | 0.22% | 0.97% | 3.05% | 0.96% | | query-selector-all-class-first | -4.33% | -4.96% | -6.41% | -3.03% | -4.03% | | xml-parser | -0.26% | -0.67% | -1.87% | -0.79% | -2.60% | | simple-url | -5.57% | -5.03% | -3.35% | -3.81% | -3.25% | +--------------------------------------+----------+-----------+----------+----------+---------+ | Average | -0.49% | -0.82% | -0.43% | -0.19% | -0.04% | +--------------------------------------+----------+-----------+----------+----------+---------+ +------------------------+----------+-----------+----------+----------+---------+ | ./apk-perf-results-new-subset/blink_perf.svg.html | +------------------------+----------+-----------+----------+----------+---------+ | Benchmark | arm64-16 | arm64-256 | arm64-32 | arm64-64 | arm64-8 | +------------------------+----------+-----------+----------+----------+---------+ | MtSaintHelens | 0.56% | -0.53% | 1.90% | 1.35% | 1.66% | | Cowboy | 1.41% | 0.50% | 1.61% | 1.11% | 1.41% | | WorldIso | 0.33% | 0.16% | 0.65% | 0.73% | 0.65% | | FlowerFromMyGarden | 0.93% | 0.00% | 1.55% | 1.24% | 1.24% | | FoodLeifLodahl | 0.21% | 0.42% | -0.21% | -0.42% | -0.00% | | FrancoBolloGnomeEzechi | 0.00% | -0.91% | 0.00% | 0.00% | 0.46% | | HarveyRayner | 0.21% | 0.21% | 0.84% | 0.42% | 0.84% | | GearFlowers | 0.85% | -0.11% | 1.92% | 1.50% | 1.82% | | Samurai | 0.00% | 1.20% | 1.20% | 0.60% | 1.20% | | HereGear | 0.83% | 0.28% | 0.83% | 0.83% | 1.38% | | AzLizardBenjiPark | 1.27% | -0.32% | 0.95% | 0.95% | 0.63% | | SvgHitTesting | 0.14% | -1.29% | -0.29% | -0.62% | -0.86% | | SierpinskiCarpet | 0.64% | 1.10% | 0.65% | 0.92% | 0.85% | | France | 0.82% | 0.00% | 0.82% | -0.20% | 0.41% | | Bamboo | 1.08% | 0.02% | 1.64% | 1.46% | 1.25% | | Worldcup | 0.51% | 0.27% | 2.19% | 1.76% | 1.74% | | SvgNestedUse | 0.98% | 0.99% | 0.83% | 0.93% | 1.87% | | CrawFishGanson | 0.94% | 0.31% | 1.26% | 0.63% | 0.63% | | DropsOnABlade | 1.06% | 0.70% | 1.06% | 0.70% | 1.06% | | Cactus | 1.17% | 0.85% | 1.06% | 2.13% | 0.53% | | UnderTheSee | 1.18% | -0.00% | 1.38% | 0.98% | 1.18% | | Debian | 1.23% | 0.15% | 1.38% | 0.62% | 1.38% | | SvgCubics | 3.01% | 0.00% | 3.01% | 0.00% | 3.76% | +------------------------+----------+-----------+----------+----------+---------+ | Average | 0.84% | 0.17% | 1.14% | 0.77% | 1.09% | +------------------------+----------+-----------+----------+----------+---------+ +--------------------------------------+----------+-----------+----------+----------+---------+ | ./apk-perf-results-new-subset/speedometer2.html | +--------------------------------------+----------+-----------+----------+----------+---------+ | Benchmark | arm64-16 | arm64-256 | arm64-32 | arm64-64 | arm64-8 | +--------------------------------------+----------+-----------+----------+----------+---------+ | Angular2-TypeScript-TodoMVC | 1.88% | 0.27% | 0.57% | 1.34% | 0.50% | | BackboneJS-TodoMVC | 0.26% | 0.99% | 0.26% | 0.29% | 0.88% | | jQuery-TodoMVC | 2.01% | 2.04% | 3.37% | 3.00% | 2.47% | | React-Redux-TodoMVC | 0.28% | -0.28% | -0.49% | 1.00% | 1.16% | | EmberJS-TodoMVC | 0.90% | -0.17% | -0.40% | 1.77% | 0.37% | | AngularJS-TodoMVC | 0.70% | -0.22% | -0.25% | 0.15% | 0.21% | | React-TodoMVC | -0.18% | -1.03% | -0.24% | 0.00% | -0.37% | | Total | 0.71% | 0.47% | 0.34% | 0.53% | 0.25% | | Flight-TodoMVC | 0.69% | 0.15% | 0.00% | 0.66% | 0.12% | | Vanilla-ES2015-TodoMVC | 2.08% | 0.74% | 0.46% | -0.79% | 0.15% | | EmberJS-Debug-TodoMVC | 0.05% | 1.20% | 0.57% | 0.15% | -0.41% | | Elm-TodoMVC | 0.07% | 0.76% | -0.32% | -0.25% | -0.44% | | Vanilla-ES2015-Babel-Webpack-TodoMVC | 1.69% | 1.82% | 3.06% | 0.79% | 0.26% | | Inferno-TodoMVC | -0.96% | -1.57% | -0.51% | -0.34% | -0.41% | | RunsPerMinute | 0.97% | 0.09% | 0.16% | 0.52% | 0.30% | | VueJS-TodoMVC | 0.80% | 0.07% | -0.67% | -0.13% | 0.86% | | VanillaJS-TodoMVC | 1.24% | 1.31% | 1.47% | 1.53% | 0.38% | | Preact-TodoMVC | 1.77% | 0.73% | 0.94% | 0.83% | 1.04% | +--------------------------------------+----------+-----------+----------+----------+---------+ | Average | 0.83% | 0.41% | 0.46% | 0.61% | 0.41% | +--------------------------------------+----------+-----------+----------+----------+---------+ Total averages: arm64-16: 0.50% arm64-256: 0.21% arm64-32: 0.06% arm64-64: 0.19% arm64-8: 0.41% -------------- next part -------------- +------------------------------------------+---------+---------+---------+---------+---------+---------+ | ../chromium/src/perf-output/blink_perf.bindings.html | +------------------------------------------+---------+---------+---------+---------+---------+---------+ | Benchmark | x64-16 | x64-256 | x64-32 | x64-512 | x64-64 | x64-8 | +------------------------------------------+---------+---------+---------+---------+---------+---------+ | gc-forest | -3.75% | -6.24% | -4.66% | 1.13% | -4.59% | 2.54% | | insert-before | 2.54% | -1.47% | 2.60% | -0.48% | -0.84% | 0.35% | | node-list-access | 2.70% | -0.82% | 2.10% | -1.23% | -0.45% | 3.84% | | set-attribute-rare | 1.04% | -0.71% | 2.63% | -1.05% | 0.54% | 4.76% | | serialize-nested-array | -12.76% | -8.16% | -13.27% | -4.59% | -12.76% | -13.78% | | serialize-long-string | 1.29% | -8.20% | -1.84% | -3.65% | -3.52% | -5.83% | | undefined-first-child | 1.15% | 1.48% | -1.64% | 2.75% | 1.54% | 2.24% | | structured-clone-json-deserialize | 0.55% | -0.96% | 2.91% | -1.69% | -3.25% | -1.72% | | serialize-array | -11.69% | -1.23% | -7.29% | -10.35% | -6.09% | -4.47% | | create-element | -3.76% | -6.69% | -6.22% | -5.14% | -6.52% | -7.86% | | gc-mini-tree | -1.59% | 5.12% | 3.77% | 4.56% | 4.53% | 7.55% | | get-attribute | -0.88% | 0.26% | 4.03% | 3.52% | 1.51% | 0.46% | | node-type | 1.85% | -2.44% | -4.05% | 0.27% | -2.28% | -0.95% | | structured-clone-json-serialize | 2.98% | 8.27% | 3.67% | 5.16% | 2.90% | 3.52% | | structured-clone-long-string-deserialize | -0.69% | 0.31% | 0.00% | -1.78% | -1.01% | -1.48% | | id-getter | 0.01% | -1.31% | -1.44% | -1.82% | -1.97% | 1.77% | | gc-tree | -1.07% | 0.43% | -1.09% | 0.65% | 1.02% | -1.23% | | sequence-conversion-array | 0.26% | -8.46% | -7.43% | -1.30% | -11.08% | -7.42% | | indexed-getter | 0.08% | 2.93% | 3.26% | 0.80% | 0.20% | 0.32% | | get-attribute-rare | 3.57% | 1.93% | 1.11% | 2.59% | 3.18% | 5.19% | | typed-array-set-from-typed | 2.80% | -0.08% | 0.70% | 2.24% | 3.34% | 0.88% | | id-setter | -2.23% | -3.19% | -3.75% | -0.16% | -0.54% | -3.45% | | undefined-get-element-by-id | 5.84% | 8.76% | 4.05% | 8.67% | 2.78% | 3.61% | | typed-array-construct-from-same-type | 0.30% | -0.33% | 2.20% | -2.98% | -2.18% | -0.22% | | get-element-by-id | -0.36% | 0.07% | 0.56% | -0.30% | -0.96% | -2.54% | | typed-array-construct-from-array | -1.53% | -3.40% | -2.37% | -1.46% | 0.40% | -1.44% | | serialize-map | 4.01% | 5.20% | 2.21% | -2.36% | 3.04% | 1.43% | | structured-clone-long-string-serialize | -0.30% | 1.13% | 0.32% | -1.80% | 0.68% | 3.12% | | append-child | -0.30% | 2.45% | -4.08% | 0.19% | -1.79% | -0.75% | | typed-array-construct-from-typed | 1.59% | 2.65% | 2.46% | 1.79% | 1.75% | 2.26% | | document-implementation | -0.93% | 2.42% | 5.63% | 10.54% | 5.26% | 2.91% | | post-message | 0.64% | -5.10% | -1.74% | -1.55% | -0.78% | -3.45% | | named-property-enumerator | -0.99% | -0.71% | 2.88% | 1.89% | 1.69% | 3.34% | | get-elements-by-tag-name | -0.23% | 0.56% | 2.90% | -0.12% | 3.01% | 6.31% | | sequence-conversion-custom-iterator | 13.33% | 2.22% | 4.48% | 6.17% | 17.65% | 3.70% | | dom-attribute-on-prototoype | 21.06% | 17.20% | 18.74% | 20.04% | 16.56% | 17.96% | | undefined-id-getter | 2.86% | 1.71% | -1.31% | -2.67% | 1.17% | -0.18% | | first-child | 9.09% | 6.72% | 4.40% | 7.35% | 4.94% | 7.13% | | set-attribute | 3.95% | 3.16% | 2.22% | 0.06% | 0.88% | 4.28% | +------------------------------------------+---------+---------+---------+---------+---------+---------+ | Average | 1.04% | 0.40% | 0.45% | 0.87% | 0.46% | 0.84% | +------------------------------------------+---------+---------+---------+---------+---------+---------+ +--------------------------------+--------+---------+--------+---------+--------+--------+ | ../chromium/src/perf-output/blink_perf.dom.html | +--------------------------------+--------+---------+--------+---------+--------+--------+ | Benchmark | x64-16 | x64-256 | x64-32 | x64-512 | x64-64 | x64-8 | +--------------------------------+--------+---------+--------+---------+--------+--------+ | remove_child_with_selection | -0.32% | 3.89% | 2.22% | 3.17% | -3.25% | -0.79% | | modify-element-id | 1.38% | -1.69% | 2.21% | 1.95% | -4.36% | -0.51% | | addRange | 1.03% | -2.48% | 1.00% | -0.98% | 0.10% | 2.60% | | textarea-edit | -0.03% | 1.17% | -1.09% | -0.39% | 1.74% | 1.18% | | long-sibling-list | 1.12% | -0.81% | 0.44% | -0.55% | 0.03% | 0.37% | | move-up-with-hidden-elements | 9.33% | 15.67% | 13.81% | 11.94% | 20.15% | 16.79% | | modify-element-classname | 3.36% | -2.40% | 2.16% | -0.18% | -3.11% | -4.05% | | modify-element-title | 1.81% | -0.43% | 1.22% | -2.54% | -1.81% | -5.37% | | select-single-add | -2.59% | 1.60% | -4.10% | 0.81% | -2.24% | -6.30% | | textarea-dom | -1.80% | 1.08% | -1.32% | 1.60% | 0.28% | -1.60% | | inner_html_with_selection | 10.08% | 5.14% | 0.00% | 0.41% | 8.23% | 6.79% | | select-multiple-add | 3.21% | 3.63% | 3.21% | -1.77% | 2.47% | 7.96% | | div-editable | 8.86% | 0.14% | 3.32% | 7.78% | 5.94% | 4.98% | | delete-in-password-field | -8.82% | -1.76% | -6.46% | 0.44% | -5.34% | -5.44% | | select-single-remove | -0.25% | -5.82% | 6.26% | 1.90% | 2.95% | 5.86% | | move-down-with-hidden-elements | 21.93% | 17.10% | 14.87% | 8.92% | 8.55% | 17.47% | +--------------------------------+--------+---------+--------+---------+--------+--------+ | Average | 3.02% | 2.13% | 2.36% | 2.03% | 1.90% | 2.50% | +--------------------------------+--------+---------+--------+---------+--------+--------+ +------------------------------------------------------------------+---------+----------+--------+---------+---------+--------+ | ../chromium/src/perf-output/blink_perf.layout.html | +------------------------------------------------------------------+---------+----------+--------+---------+---------+--------+ | Benchmark | x64-16 | x64-256 | x64-32 | x64-512 | x64-64 | x64-8 | +------------------------------------------------------------------+---------+----------+--------+---------+---------+--------+ | large-table-with-collapsed-borders-and-colspans-wider-than-table | -2.33% | -4.75% | -1.57% | -3.73% | -5.61% | -3.59% | | floats_100_100_nested | 11.81% | -0.44% | -4.43% | 0.47% | 2.84% | -2.21% | | character_fallback | 3.51% | 4.01% | 4.74% | 4.29% | 2.83% | 5.26% | | nested-percent-height-tables | -2.94% | -0.81% | -4.81% | -1.63% | -2.31% | -1.61% | | line-layout-line-height | 8.03% | 3.56% | 7.62% | 2.40% | 6.54% | 3.58% | | chapter-reflow | 1.27% | 0.43% | -1.59% | -2.09% | 1.36% | 2.09% | | add-remove-inline-floats | 1.83% | -0.01% | 1.67% | 3.24% | -1.16% | 0.64% | | SimpleTextPathLineLayout | 4.05% | -1.95% | 0.43% | -3.31% | 0.09% | 5.57% | | multicol_tall-content-short-columns-realistic | 1.38% | -5.74% | 3.59% | -2.82% | -3.16% | -6.54% | | floats_20_100_nested | 10.95% | 7.99% | 5.11% | 5.76% | 3.71% | 4.58% | | multicol_deeply-nested-tables | -1.36% | -5.57% | -5.16% | -4.20% | -3.96% | -2.06% | | nested-blocks-with-percent-height-and-max-height | 2.98% | 2.79% | 0.57% | 3.16% | 2.13% | 1.14% | | large-table-with-collapsed-borders-and-no-colspans | -0.49% | -4.19% | -1.69% | -5.24% | -1.57% | -2.72% | | chapter-reflow-once-random | -3.15% | 1.43% | 1.01% | 0.59% | -1.12% | -0.35% | | auto-grid-lots-of-data | -1.37% | -2.17% | 0.57% | 2.33% | -2.88% | 0.88% | | flexbox-deeply-nested-column-flow | -3.64% | -5.42% | -4.53% | 4.64% | 1.81% | -6.86% | | attach-inlines | 1.18% | 1.43% | 5.20% | 1.79% | 3.78% | 1.64% | | floats_2_100_nested | 0.61% | 0.14% | 6.17% | -0.63% | 0.75% | 0.10% | | multicol_lots-of-text-balanced-orphans-widows | 3.37% | -1.62% | 0.86% | 1.20% | 2.51% | -1.87% | | flexbox-lots-of-data | -2.60% | -1.79% | -1.29% | 0.96% | -3.28% | 0.57% | | floats_50_100 | -0.28% | 5.40% | -2.26% | 3.53% | 2.63% | 0.51% | | nested-grid | 3.06% | 5.76% | 0.74% | 1.37% | 3.69% | 0.99% | | long-line-nowrap-collapse | -6.01% | -7.84% | 0.42% | -2.37% | -10.77% | 2.17% | | multicol_lots-of-text-balanced | -0.23% | 0.95% | 0.55% | 2.94% | 3.13% | 4.48% | | flexbox-column-wrap | 3.85% | 0.84% | 1.74% | 2.51% | 8.73% | 5.99% | | floats_10_1000 | 7.64% | 1.83% | 8.78% | -2.62% | -1.03% | -4.69% | | hindi-line-layout | -2.79% | -2.84% | -3.36% | 2.06% | -1.81% | 1.42% | | word-break-break-word | -2.86% | 0.75% | -1.33% | 4.72% | 1.72% | 0.20% | | large-table-with-collapsed-borders-and-colspans | 4.07% | -3.73% | -0.35% | 0.83% | 3.02% | 1.12% | | flexbox-with-stretch-layout | 1.49% | -1.33% | 0.45% | 5.37% | 5.21% | -2.81% | | fixed-grid-lots-of-data | -1.52% | -0.48% | 0.88% | 4.47% | 1.84% | 5.73% | | multicol_tall-content-short-columns | 4.85% | -0.72% | 5.15% | -3.71% | 1.52% | 3.26% | | ArabicLineLayout | 1.68% | -0.24% | -0.67% | 2.78% | 3.38% | 3.00% | | multicol_fixed-height-with-spanner-and-nested-tables | -2.32% | -2.07% | -5.31% | -0.88% | -1.29% | -1.51% | | subtree-detaching | 2.74% | -1.86% | 1.25% | -1.43% | 5.84% | 5.14% | | floats_20_100 | -9.33% | -3.10% | -5.34% | 0.62% | -3.98% | -0.09% | | flexbox-row-wrap | 2.26% | -6.24% | -8.18% | -2.15% | -1.55% | 0.87% | | chapter-reflow-once | 1.80% | -3.08% | -1.19% | -1.99% | 0.83% | -3.21% | | long-line-nowrap-spans-collapse | -6.84% | -3.76% | -3.96% | -5.77% | -4.76% | -3.98% | | long-line-nowrap | 0.42% | 4.15% | 1.13% | 3.09% | 3.02% | 6.40% | | multicol_lots-of-text-autofill | -3.21% | -1.51% | -2.86% | -5.20% | -0.76% | 1.20% | | line-layout | -3.15% | -2.52% | -2.59% | -2.12% | -1.97% | -4.00% | | floats_100_100 | -0.08% | -2.14% | 6.37% | 3.11% | -3.84% | 2.11% | | floats_2_100 | -0.84% | -1.76% | 1.84% | -3.83% | 2.64% | -0.71% | | layers_overlap_2d | 3.44% | 1.61% | 7.70% | 3.69% | 1.98% | 3.10% | | Shapes_MultipleShapes | 2.65% | 3.63% | -2.33% | -2.43% | 0.46% | 0.62% | | chapter-reflow-thrice | 0.88% | -2.88% | -1.07% | -0.67% | -0.15% | -2.22% | | flexbox-row-nowrap | -3.21% | -2.70% | 1.43% | 2.25% | -1.69% | -1.71% | | word-break-break-all | -4.81% | 1.81% | 0.07% | -3.60% | -2.14% | 1.26% | | word-wrap-break-word | 0.67% | -0.66% | 1.73% | -5.64% | -0.21% | -1.69% | | character_fallback_aat | -50.00% | -100.00% | 0.00% | 100.00% | 0.00% | 50.00% | | vertical-japanese-kokoro-insert | -5.20% | -3.04% | -4.14% | -3.56% | -3.44% | -4.23% | | line-layout-repeat-append | -5.24% | -6.65% | -6.18% | -12.79% | -5.53% | -7.03% | | flexbox-column-nowrap | -0.39% | 3.46% | 2.14% | 0.64% | 0.82% | -3.11% | | chapter-reflow-twice | -2.54% | -3.68% | -1.02% | -0.80% | -2.61% | -2.96% | | attach-inlines-2 | 0.02% | -4.23% | 6.58% | 3.56% | 7.38% | 3.84% | | latin-complex-text | -2.44% | -1.20% | -3.66% | -0.48% | 5.32% | 6.92% | | layers_overlap_3d | 4.53% | 3.41% | 3.30% | 1.79% | 4.20% | 3.89% | | floats_50_100_nested | 6.10% | -5.35% | 4.28% | 1.13% | 3.33% | 5.04% | | fixed-grid-lots-of-stretched-data | 1.34% | 5.25% | 1.48% | 5.09% | 0.84% | -0.62% | +------------------------------------------------------------------+---------+----------+--------+---------+---------+--------+ | Average | -0.45% | -2.49% | 0.24% | 1.68% | 0.45% | 1.22% | +------------------------------------------------------------------+---------+----------+--------+---------+---------+--------+ +--------------------------------------+---------+---------+---------+---------+---------+---------+ | ../chromium/src/perf-output/blink_perf.parser.html | +--------------------------------------+---------+---------+---------+---------+---------+---------+ | Benchmark | x64-16 | x64-256 | x64-32 | x64-512 | x64-64 | x64-8 | +--------------------------------------+---------+---------+---------+---------+---------+---------+ | xml-parser | 0.81% | -1.34% | -0.89% | -1.41% | -1.66% | -0.05% | | query-selector-all-id-deep | 0.47% | 0.99% | -0.80% | 0.91% | -3.17% | 3.87% | | query-selector-id-deep | -4.53% | 1.07% | -3.35% | -1.67% | 6.21% | -2.39% | | iframe-append-remove | 1.91% | 2.78% | 3.32% | 4.89% | -2.81% | -1.27% | | tiny-innerHTML | -4.46% | -0.05% | -3.74% | -0.73% | -0.89% | -5.91% | | query-selector-first | 5.12% | 9.41% | 4.64% | 0.66% | 4.87% | 2.02% | | query-selector-all-attribute-complex | -1.44% | -1.04% | 0.73% | -4.31% | -2.14% | -0.53% | | query-selector-all-class-first | 2.89% | -2.14% | -4.28% | 3.67% | -2.04% | -4.10% | | query-selector-all-class | 6.34% | 3.32% | 7.83% | 4.28% | 8.57% | 7.56% | | query-selector-deep | 5.59% | -1.73% | 5.15% | -0.52% | 4.82% | -0.02% | | query-selector-all-id-first | -14.06% | -10.18% | -14.16% | -28.04% | -23.46% | -14.38% | | query-selector-all-id-last | -1.63% | -3.47% | 1.02% | 1.34% | 1.57% | -4.39% | | query-selector-all-first | -7.92% | -10.32% | -7.35% | -7.33% | -11.72% | -5.17% | | query-selector-all-class-last | 0.94% | -3.56% | -1.55% | -0.63% | 3.23% | -0.60% | | html5-full-render | 2.62% | 3.38% | 1.14% | 3.12% | 2.78% | 1.37% | | simple-url | 1.90% | 12.05% | 1.17% | -0.44% | 2.16% | 4.03% | | query-selector-all-attribute | -0.82% | 1.30% | -0.70% | -1.95% | -1.56% | -0.56% | | textarea-parsing | 3.79% | 9.45% | 5.57% | 0.20% | 6.53% | 3.12% | | query-selector-all-last | 0.80% | -0.87% | 1.88% | 0.06% | -0.11% | 1.94% | | url-parser | 0.18% | 9.66% | 6.69% | 2.47% | 6.56% | 0.12% | | query-selector-all-class-deep | -2.00% | -1.52% | -1.52% | -2.43% | -3.34% | -2.51% | | html-parser | 1.61% | -0.64% | 2.61% | -0.24% | 0.31% | -3.09% | | css-parser-yui | 1.70% | -5.10% | -3.82% | -9.32% | 3.39% | 4.42% | | innerHTML-setter-siblings | 3.92% | 2.65% | 4.21% | 2.40% | 0.18% | 8.89% | | html-parser-threaded | -1.91% | -1.60% | 3.18% | 6.83% | -6.76% | 3.36% | | innerHTML-setter | 2.75% | 2.74% | 3.45% | 5.37% | -0.61% | 1.77% | | query-selector-all-deep | 5.56% | 3.24% | -0.84% | -1.41% | 1.54% | 1.36% | | query-selector-last | -1.56% | -4.67% | -2.85% | -6.85% | -4.44% | -5.49% | | query-selector-id-last | 6.17% | -1.71% | -3.04% | 1.09% | 5.20% | 4.01% | +--------------------------------------+---------+---------+---------+---------+---------+---------+ | Average | 0.51% | 0.42% | 0.13% | -1.03% | -0.23% | -0.09% | +--------------------------------------+---------+---------+---------+---------+---------+---------+ +------------------------+---------+---------+---------+---------+---------+---------+ | ../chromium/src/perf-output/blink_perf.svg.html | +------------------------+---------+---------+---------+---------+---------+---------+ | Benchmark | x64-16 | x64-256 | x64-32 | x64-512 | x64-64 | x64-8 | +------------------------+---------+---------+---------+---------+---------+---------+ | Debian | -3.16% | -10.11% | -0.19% | -12.71% | -15.55% | -5.91% | | UnderTheSee | -1.63% | 4.91% | 2.04% | 8.23% | -2.21% | 1.34% | | WorldIso | -7.19% | -2.30% | -2.59% | -4.33% | -4.70% | 2.74% | | FoodLeifLodahl | 10.56% | -1.63% | -0.67% | 4.26% | 11.93% | 3.82% | | FrancoBolloGnomeEzechi | 3.60% | 3.05% | 3.95% | -8.21% | 7.80% | 10.55% | | Cowboy | -1.35% | -4.93% | -2.46% | -4.39% | -1.39% | -2.09% | | Cactus | -5.94% | -6.22% | 3.58% | -6.62% | -11.26% | -2.99% | | Samurai | -19.46% | -7.53% | -7.51% | -6.50% | -11.89% | -15.57% | | SvgCubics | -0.81% | -3.09% | -1.95% | -11.79% | -5.04% | -8.01% | | MtSaintHelens | 0.15% | -3.41% | -4.44% | -2.74% | -3.26% | -0.81% | | CrawFishGanson | 15.75% | 8.97% | 16.69% | 5.48% | 15.06% | 0.89% | | SvgNestedUse | -9.22% | -9.80% | -0.36% | -9.25% | -12.63% | -9.47% | | DropsOnABlade | 5.45% | 7.25% | 14.98% | 5.15% | -4.38% | 1.92% | | France | 25.50% | 18.21% | 3.84% | 2.31% | 5.83% | 11.01% | | HarveyRayner | -0.11% | -11.81% | -3.89% | 4.63% | 14.42% | 1.26% | | Bamboo | 0.65% | -0.18% | -5.44% | 2.08% | -4.13% | -1.74% | | Worldcup | 4.27% | 1.07% | 3.68% | 4.64% | -1.47% | 5.86% | | FlowerFromMyGarden | 6.78% | -2.34% | 12.16% | 14.56% | 17.33% | 6.34% | | SvgHitTesting | 0.24% | -2.10% | 2.34% | -0.58% | -1.65% | 8.64% | | AzLizardBenjiPark | 1.97% | -10.86% | -13.19% | -5.45% | -7.23% | 5.51% | | HereGear | 0.56% | -2.86% | 4.13% | 3.99% | 5.49% | -1.07% | | GearFlowers | 8.77% | -0.38% | 10.72% | 3.70% | 6.51% | 4.55% | | SierpinskiCarpet | -1.26% | 1.94% | -0.11% | 0.68% | -1.62% | -0.12% | +------------------------+---------+---------+---------+---------+---------+---------+ | Average | 1.48% | -1.48% | 1.54% | -0.56% | -0.18% | 0.72% | +------------------------+---------+---------+---------+---------+---------+---------+ Total averages: x64-16: 0.66% x64-256: -0.73% x64-32: 0.65% x64-512: 0.74% x64-64: 0.39% x64-8: 0.96% -------------- next part -------------- A non-text attachment was scrubbed... Name: size-arm64.png Type: image/png Size: 12620 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180717/96517e08/attachment-0002.png> -------------- next part -------------- A non-text attachment was scrubbed... Name: size-x64.png Type: image/png Size: 9935 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180717/96517e08/attachment-0003.png>