Skip to content

Instantly share code, notes, and snippets.

@uttampawar
Created November 26, 2019 02:01
Show Gist options
  • Save uttampawar/759078fa749170b6b75815874a81162a to your computer and use it in GitHub Desktop.
Save uttampawar/759078fa749170b6b75815874a81162a to your computer and use it in GitHub Desktop.
LLVM propeller and Node.js with 2 workloads
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