<html>
<head>
<base href="https://llvm.org/bugs/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - WebAssembly backend speed comparison to fastcomp"
href="https://llvm.org/bugs/show_bug.cgi?id=27694">27694</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>WebAssembly backend speed comparison to fastcomp
</td>
</tr>
<tr>
<th>Product</th>
<td>libraries
</td>
</tr>
<tr>
<th>Version</th>
<td>trunk
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>Backend: WebAssembly
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>alonzakai@gmail.com
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr></table>
<p>
<div>
<pre>I compared the wasm backend's speed to the asm.js backend in emscripten
fastcomp. To build BananaBread, fastcomp takes 2.83 seconds, while the wasm
backend takes 14.24, which is 5.03x slower. Those are the times spent in the
respective LLVM backends, with -O2.
Fastcomp is a release+asserts build. wasm backend is a release build.
The fastcomp times includes legalization + compiling to asm.js. It doesn't
include asm.js optimization passes that happen later. Those are important for
perf so in a sense the above comparison is not fully fair. JS opts take 4.04
seconds, so that would make the wasm backend 2.07x slower, which decreases the
difference substantially, but still leaves it quite large.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>