<!DOCTYPE html> <!-- Copyright 2013 the V8 project authors. Scroll to the end for full license --> <html lang="en"> <head> <meta http-equiv="X-UA-Compatible" value="IE=edge"/> <meta charset="utf-8"/> <title>Octane 2.0 JavaScript Benchmark</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <meta name="description" content="Octane 2.0 JavaScript Benchmark - the Javascript benchmark for the modern web"> <meta name="author" content="Octane Team Google"> <!-- twitter bootstrap code --> <script src="js/jquery.js"></script> <script src="js/bootstrap-transition.js"></script> <script src="js/bootstrap-collapse.js"></script> <!-- Octane benchmark code --> <script type="text/javascript" src="base.js"></script> <script type="text/javascript" src="richards.js"></script> <script type="text/javascript" src="deltablue.js"></script> <script type="text/javascript" src="crypto.js"></script> <script type="text/javascript" src="raytrace.js"></script> <script type="text/javascript" src="earley-boyer.js"></script> <script type="text/javascript" src="regexp.js"></script> <script type="text/javascript" src="splay.js"></script> <script type="text/javascript" src="navier-stokes.js"></script> <script type="text/javascript" src="pdfjs.js"></script> <script type="text/javascript" src="mandreel.js"></script> <script type="text/javascript" src="gbemu-part1.js"></script> <script type="text/javascript" src="gbemu-part2.js"></script> <script type="text/javascript" src="code-load.js"></script> <script type="text/javascript" src="box2d.js"></script> <script type="text/javascript" src="zlib.js"></script> <script type="text/javascript" src="zlib-data.js"></script> <script type="text/javascript" src="typescript.js"></script> <script type="text/javascript" src="typescript-input.js"></script> <script type="text/javascript" src="typescript-compiler.js"></script> <script type="text/javascript"> var completed = 0; var benchmarks = BenchmarkSuite.CountBenchmarks(); var success = true; var latencyBenchmarks = ["Splay", "Mandreel"]; var skipBenchmarks = typeof skipBenchmarks === "undefined" ? [] : skipBenchmarks; function ShowBox(name) { var box = document.getElementById("Box-" + name); box.style.visibility = 'visible'; var bar = document.getElementById("progress-bar").style.width = "" + ((++completed) / benchmarks) * 100 + "%"; latencyBenchmarks.forEach(function(entry) { if (name.valueOf() === entry.valueOf()) { var box1 = document.getElementById("Box-" + name + "Latency"); box1.style.visibility = 'visible'; } }); } function AddResult(name, result) { console.log(name + ': ' + result); var box = document.getElementById("Result-" + name); box.innerHTML = result; } function AddError(name, error) { console.log(name + ": " + error.message); if (error == "TypedArrayUnsupported") { AddResult(name, '<b>Unsupported<\/b>'); } else if (error == "PerformanceNowUnsupported") { AddResult(name, '<b>Timer error<\/b>'); } else { AddResult(name, '<b>Error</b>'); } success = false; } function AddScore(score) { var status = document.getElementById("main-banner"); if (success) { status.innerHTML = "Octane Score: " + score; } else { status.innerHTML = "Octane Score (incomplete): " + score; } document.getElementById("progress-bar-container").style.visibility = 'hidden'; document.getElementById("bottom-text").style.visibility = 'visible'; document.getElementById("inside-anchor").removeChild(document.getElementById("bar-appendix")); document.getElementById("alertbox").style.visibility = 'hidden'; } function Run() { document.getElementById("main-banner").innerHTML = "Running Octane..."; // append the progress bar elements.. document.getElementById("bar-appendix").innerHTML = "<br/><div class=\"progress progress-striped\" id=\"progress-bar-container\" style=\"visibility:hidden\"><div class=\"bar\"style=\"width: 0%;\" id=\"progress-bar\"></div></div>"; var anchor = document.getElementById("run-octane"); var parent = document.getElementById("main-container"); parent.appendChild(document.getElementById("inside-anchor")); parent.removeChild(anchor); document.getElementById("startup-text").innerHTML=""; document.getElementById("progress-bar-container").style.visibility = 'visible'; BenchmarkSuite.RunSuites({ NotifyStart : ShowBox, NotifyError : AddError, NotifyResult : AddResult, NotifyScore : AddScore }, skipBenchmarks); } function CheckCompatibility() { // If no Typed Arrays support, show warning label. var hasTypedArrays = typeof Uint8Array != "undefined" && typeof Float64Array != "undefined" && typeof (new Uint8Array(0)).subarray != "undefined"; if (!hasTypedArrays) { console.log("Typed Arrays not supported"); document.getElementById("alertbox").style.display="block"; } if (window.document.URL.indexOf('skip_zlib=1') >= 0) skipBenchmarks.push("zlib"); if (window.document.URL.indexOf('auto=1') >= 0) Run(); } function Load() { setTimeout(CheckCompatibility, 200); } </script> <!-- end Octane benchmark code --> <!-- Le styles --> <link href="css/bootstrap.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.css" rel="stylesheet"> <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> <!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <!-- Le fav and touch icons --> <!-- TODO update icons --> <link rel="shortcut icon" href="ico/favicon.ico"> <link rel="apple-touch-icon-precomposed" sizes="144x144" href="ico/apple-touch-icon-144-precomposed.png"> <link rel="apple-touch-icon-precomposed" sizes="114x114" href="ico/apple-touch-icon-114-precomposed.png"> <link rel="apple-touch-icon-precomposed" sizes="72x72" href="ico/apple-touch-icon-72-precomposed.png"> <link rel="apple-touch-icon-precomposed" href="ico/apple-touch-icon-57-precomposed.png"> </head> <body onLoad="Load()"> <div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> <a class="brand" href="#">Octane 2.0</a> <!--/.nav-collapse --> </div> </div> </div> <div class="container"> <div class="alert" style="display:none" id="alertbox"> <strong>Warning</strong> This JavaScript engine does not support Typed Arrays. You might want to run the <a href="http://v8.googlecode.com/svn/data/benchmarks/v7/run.html">V8 benchmark v7</a> instead. </div> <div id="main-container"> <a id="run-octane" href="javascript:Run()"> <div class="hero-unit" id="inside-anchor"> <h1 align="center" id="main-banner">Start Octane 2.0</h1> <div id="bar-appendix"></div> </div> </a> </div> <div id="startup-text" style="color:white;" align="center"> Welcome to Octane 2.0, a JavaScript benchmark for the modern web. For more accurate results, <a href="http://developers.google.com/octane/benchmark">start the browser anew</a> before running the test. <br/><br/> <a href="http://developers.google.com/octane/benchmark#whatsnew" target="_blank">What's new in Octane 2.0</a> - <a href="http://developers.google.com/octane/">Documentation</a> - <a href="http://octane-benchmark.googlecode.com/svn/tags/v1/index.html">Run Octane v1</a> </div> <div class="header"></div> <div class="content"> <div class="row"> <div class="span3"> <div class="box" id="Box-Richards" style="visibility: hidden;"> <a href="http://developers.google.com/octane/benchmark#richards" target="_blank" style="float:left; color:#994520">Richards</a> <span class="p-result" id="Result-Richards" style="float:right">...</span> <span class="label-simple" style="position: absolute; bottom: 3px; left: 3px;">Core language features</span> </div> </div> <div class="span3"> <div class="box" id="Box-DeltaBlue" style="visibility: hidden;"> <a href="http://developers.google.com/octane/benchmark#deltablue" target="_blank" style="float:left; color:#994520">Deltablue</a> <p class="p-result" id="Result-DeltaBlue" style="float:right">...</p> <span class="label-simple" style="position: absolute; bottom: 3px; left: 3px;">Core language features</span> </div> </div> <div class="span3"> <div class="box" id="Box-Crypto" style="visibility: hidden;"> <a href="http://developers.google.com/octane/benchmark#crypto" target="_blank" style="float:left; color:#994520">Crypto</a> <p class="p-result" id="Result-Crypto" style="float:right">...</p> <span class="label-simple" style="position: absolute; bottom: 3px; left: 3px;">Bit & Math operations</span> </div> </div> <div class="span3"> <div class="box" id="Box-RayTrace" style="visibility: hidden;"> <a href="http://developers.google.com/octane/benchmark#raytrace" target="_blank" style="float:left; color:#994520">Raytrace</a> <p class="p-result" id="Result-RayTrace" style="float:right">...</p> <span class="label-simple" style="position: absolute; bottom: 3px; left: 3px;">Core language features</span> </div> </div> </div> <!-- /row --> <div class="row"> <div class="span3"> <div class="box" id="Box-EarleyBoyer" style="visibility: hidden;"> <a href="http://developers.google.com/octane/benchmark#earleyboyer" target="_blank" style="float:left; color:#994520">EarleyBoyer</a> <p class="p-result" id="Result-EarleyBoyer" style="float:right">...</p> <span class="label-simple" style="position: absolute; bottom: 3px; left: 3px;">Memory & GC</span> </div> </div> <div class="span3"> <div class="box" id="Box-RegExp" style="visibility: hidden;"> <a href="http://developers.google.com/octane/benchmark#regexp" target="_blank" style="float:left; color:#994520">Regexp</a> <p class="p-result" id="Result-RegExp" style="float:right">...</p> <span class="label-simple" style="position: absolute; bottom: 3px; left: 3px;">Strings & arrays</span> </div> </div> <div class="span3"> <div class="box" id="Box-Splay" style="visibility: hidden;"> <a href="http://developers.google.com/octane/benchmark#splay" target="_blank" style="float:left; color:#994520">Splay</a> <p class="p-result" id="Result-Splay" style="float:right">...</p> <span class="label-simple" style="position: absolute; bottom: 3px; left: 3px;">Memory & GC</span> </div> </div> <div class="span3"> <div class="box" id="Box-SplayLatency" style="visibility: hidden;"> <a href="http://developers.google.com/octane/benchmark#splaylatency" target="_blank" style="float:left; color:#994520">SplayLatency</a> <p class="p-result" id="Result-SplayLatency" style="float:right">...</p> <span class="label-simple" style="position: absolute; bottom: 3px; left: 3px;">GC latency </span> </div> </div> </div> <!-- /row --> <div class="row"> <div class="span3"> <div class="box" id="Box-NavierStokes" style="visibility: hidden;"> <a href="http://developers.google.com/octane/benchmark#navierstokes" target="_blank" style="float:left; color:#994520">NavierStokes</a> <p class="p-result" id="Result-NavierStokes" style="float:right">...</p> <span class="label-simple" style="position: absolute; bottom: 3px; left: 3px;">Strings & arrays</span> </div> </div> <div class="span3"> <div class="box" id="Box-PdfJS" style="visibility: hidden;"> <a href="http://developers.google.com/octane/benchmark#pdfjs" target="_blank" style="float:left; color:#994520">pdf.js</a> <p class="p-result" id="Result-PdfJS" style="float:right">...</p> <span class="label-simple" style="position: absolute; bottom: 3px; left: 3px;">Strings & arrays</span> </div> </div> <div class="span3"> <div class="box" id="Box-Mandreel" style="visibility: hidden;"> <a href="http://developers.google.com/octane/benchmark#mandreel" target="_blank" style="float:left; color:#994520">Mandreel</a> <p class="p-result" id="Result-Mandreel" style="float:right">...</p> <span class="label-simple" style="position: absolute; bottom: 3px; left: 3px;">Virtual machine</span> </div> </div> <div class="span3"> <div class="box" id="Box-MandreelLatency" style="visibility: hidden;"> <a href="http://developers.google.com/octane/benchmark#mandreellatency" target="_blank" style="float:left; color:#994520">MandreelLatency</a> <p class="p-result" id="Result-MandreelLatency" style="float:right">...</p> <span class="label-simple" style="position: absolute; bottom: 3px; left: 3px;">Compiler latency </span> </div> </div> </div> <!-- /row --> <div class="row"> <div class="span3"> <div class="box" id="Box-Gameboy" style="visibility: hidden;"> <a href="http://developers.google.com/octane/benchmark#gameboyemulator" target="_blank" style="float:left; color:#994520">GB Emulator</a> <p class="p-result" id="Result-Gameboy" style="float:right">...</p> <span class="label-simple" style="position: absolute; bottom: 3px; left: 3px;">Virtual machine</span> </div> </div> <div class="span3"> <div class="box" id="Box-CodeLoad" style="visibility: hidden;"> <a href="http://developers.google.com/octane/benchmark#codeload" target="_blank" style="float:left; color:#994520">CodeLoad</a> <p class="p-result" id="Result-CodeLoad" style="float:right">...</p> <span class="label-simple" style="position: absolute; bottom: 3px; left: 3px;">Loading & Parsing</span> </div> </div> <div class="span3"> <div class="box" id="Box-Box2D" style="visibility: hidden;"> <a href="http://developers.google.com/octane/benchmark#box2d" target="_blank" style="float:left; color:#994520">Box2DWeb</a> <p class="p-result" id="Result-Box2D" style="float:right">...</p> <span class="label-simple" style="position: absolute; bottom: 3px; left: 3px;">Bit & Math operations</span> </div> </div> <div class="span3"> <div class="box" id="Box-zlib" style="visibility: hidden;"> <a href="http://developers.google.com/octane/benchmark#zlib" target="_blank" style="float:left; color:#994520">zlib</a> <p class="p-result" id="Result-zlib" style="float:right">...</p> <span class="label-simple" style="position: absolute; bottom: 3px; left: 3px;">asm.js</span> </div> </div> <div class="span3"> <div class="box" id="Box-Typescript" style="visibility: hidden;"> <a href="http://developers.google.com/octane/benchmark#typescript" target="_blank" style="float:left; color:#994520">Typescript</a> <p class="p-result" id="Result-Typescript" style="float:right">...</p> <span class="label-simple" style="position: absolute; bottom: 3px; left: 3px;">Virtual machine & GC </span> </div> </div> </div> <!-- /row --> </div> <!-- /content --> <div id="bottom-text" style="color:white; visibility:hidden" align="center"> <br></br> The final score is the <a href="http://en.wikipedia.org/wiki/Geometric_mean#Properties">geometric mean</a> of the single scores. We suggest to restart the browser before repeating the test. </div> </div> <!-- /container --> </body> </html> <!-- // Copyright 2013 the V8 project authors (http://code.google.com/p/v8/). // All rights reserved. // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following // disclaimer in the documentation and/or other materials provided // with the distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived // from this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->