forked from kripken/embenchen
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathindex.html
123 lines (104 loc) · 5.83 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Embenchen - the Emscripten benchmark suite</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<!-- Le styles -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<style>
body {
padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
}
</style>
<link href="css/bootstrap-responsive.min.css" rel="stylesheet">
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="js/html5shiv.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="brand" href="#">Embenchen</a>
<div class="nav-collapse collapse">
<ul class="nav">
<!--li class="active"><a href="embenchen.html">Benchmarks</a></li-->
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
</div>
<div class="container">
<div class="hero-unit">
<h1 style="color: #555">Embenchen - the <span style="color: #000">Emscripten</span> benchmark suite</h1>
<h4>v0.0.2</h4>
<br>
<p>This site contains a snapshot of the <a href="http://emscripten.org">Emscripten</a> benchmark suite, that you can run in your browser.</p>
<br>
<h3>THIS IS DEPRECATED, see <a href="http://kripken.github.io/Massive/">Massive</a>.</h3>
<!--p><a href="#" class="btn btn-primary btn-large " onclick="run(); return false" id="the_button">Run the benchmark now! »</a></p-->
</div>
<div class="row-fluid" id="results_area" hidden=1>
<div id="presentation-area"></div>
<div class="span">
<h3>Individual Benchmark Results</h3>
<table class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>Benchmark</th>
<th><div class="text-center">Raw result</div></th>
<th>Scale</th>
<!--th>Normalized result</th-->
</tr>
</thead>
<tbody id="table_body">
</tbody>
</table>
</div>
</div>
<div class="row-fluid">
<div class="span">
<hr>
<h3>FAQ</h3>
<h4>Is this a meaningful benchmark?</h4>
<p>The Emscripten benchmark suite has grown over time in the Emscripten project, with two goals: To pinpoint
areas where Emscripten output is slower than native code, so those can be focused on, and to prevent regressions.
This benchmark suite contains two sets of tests: <b>microbenchmarks</b>, which were mainly designed to test performance on
specific issues, and are probably not representative of real-world code, and <b>macrobenchmarks</b> (bullet, box2d, lua, zlib)
which are real-world code that we believe is important and interesting.</p>
<p>The macrobenchmark results, therefore, are meaningful and worth looking at. The microbenchmarks on the other hand
are less important, but might still be interesting in some cases.</p>
<h4>What can I compare to what here?</h4>
<p>The benchmark changes over time as Emscripten and LLVM improve, so you <b>cannot</b> compare different versions of
the benchmark to each other (see version number above). What you <b>can</b> do is to compare the same version, on the same machine, on different
browsers.</p>
<h4>Will my browser freeze up if I press the button?</h4>
<p>Fear not! Each benchmark runs in a worker, so the browser will remain responsive.</p>
<h4>How can I build these benchmarks myself?</h4>
<p>Run <code>tests/runner.py benchmark</code> in Emscripten, after editing <code>tests/test_benchmark.py</code> to enable the line with "embenchen" on it (you can also disable other measurements there if you want, and can set <code>DEFAULT_ARG</code> to 0 to just build (and not measure).</p>
<h4>What settings are these builds made with?</h4>
<p><code>-O3 -profiling</code> . That is a fully optimized build but not fully minified, so that you can inspect the source code, look at
profiler measurements, etc. The minification not done here should only affect startup speed; throughput should still be maximal.
(Don't be surprised by the source code size of the benchmarks; minified builds would be far smaller.)</p>
<h4>Is startup time a factor in these tests?</h4>
<p>The goal here is mainly throughput, not startup, mainly because we are interested in long-running computation-intensive code.
Another reason is that it's not easy to measure "everything but startup", because JS engines
may start to parse or even compile code as it is downloaded, so ignoring download may also ignore some parsing, etc. Therefore, to focus
on throughput, these tests measure time before <code>main()</code> is to be called, and right after it.</p>
<hr>
</div>
</div>
</div> <!-- /container -->
<script src="driver.js"></script>
<a href="https://github.com/kripken/embenchen"><img style="position: absolute; top: 35px; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub"></a>
</body>
</html>