Created
November 26, 2019 02:01
-
-
Save uttampawar/759078fa749170b6b75815874a81162a to your computer and use it in GitHub Desktop.
LLVM propeller and Node.js with 2 workloads
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Compiler LLVM v10.0 (branch: plo-dev, commit id: 2031626e55e6f8cd67aafb53142ada64a97db0d1) | |
Workload 1: webtooling (https://github.com/v8/web-tooling-benchmark) | |
Webtooling is simple to run. Only thing you need is to build node binary (Node.js runtime) | |
node-orignal node-with-propeller with-propeller/orig | |
score (runs/s) 10.15 9.53 0.939 <---- 7% regression in absolute throughput | |
binary-size (Bytes) 66,552,488 75,208,088 1.130 <--- size increased | |
cycles 403,260,331,520 419,827,132,716 1.041 <--- 4% more cycles | |
instructions 701,961,055,882 700,658,118,964 0.998 <--- instructions fairely remained same | |
icache_64b.iftag_stall 16,069,917,504 9,930,932,775 0.618 <--- 40% improvement | |
itlb_misses.walk_completed 55,644,425 55,759,159 1.002 | |
itlb_misses.walk_completed_4k 55,302,379 55,366,957 1.001 | |
br_misp_retired.all_branches 2,089,716,437 2,081,746,644 0.996 | |
br_inst_retired.all_branches 151,219,359,616 168,375,100,473 1.113 <-- 11% branches retired (regression) | |
metric_ITLB_Misses (%) 3.98 2.37 0.595 <--- front-end bottleneck due to iTLB miss reduction | |
metric_ITLB_MPKI(%) 0.079 0.079 1.000 | |
metric_ITLB_4K_MPKI(%) 0.079 0.079 1.000 | |
metric_branch mispredict ratio 1.38 1.24 0.896 | |
Workload 2: Ghost.js ( https://github.com/TryGhost/Ghost.git) | |
Ghost.js involves 3 components (node application, database and apache client "ab") | |
node-orignal node-with-propeller wp/orig | |
Elapsed Time 50 50 1.000 | |
RPS 124.34 114.3 0.919 <--- 9% regression | |
binary-size (Bytes) 66,552,488 63,593,208 0.956 <--- improvement (after running split on the binary) | |
cycles 186,369,907,075 188,624,952,924 1.012 <--- 1% code increase | |
instructions 299,760,152,781 282,230,632,344 0.942 <--- 6% improvement | |
icache_64b.iftag_stall 12,336,211,838 11,179,865,194 0.906 <--- 10% improvement | |
itlb_misses.walk_completed 65,090,576 54,891,314 0.843 <--- 16% improvement | |
itlb_misses.walk_completed_4k 64,916,461 54,869,388 0.845 <--- | |
br_misp_retired.all_branches 1,112,011,928 1,059,303,532 0.953 <--- 5% improvement | |
br_inst_retired.all_branches 63,050,053,963 67,215,061,774 1.066 <--- 6% more branches (regression) | |
metric_ITLB_Misses (%) 6.62 5.93 0.896 <--- 11% improvement | |
metric_ITLB_MPKI(%) 0.217 0.194 0.894 | |
metric_ITLB_4K_MPKI(%) 0.2165 0.194 0.898 | |
metric_branch mispredict ratio 1.76 1.58 0.898 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment