Simple line layout: Add performance test to measure mid-word line breaking with long...
[WebKit.git] / PerformanceTests / JetStream / OctaneSetup.js
1 // Copyright (C) 2014 Apple Inc. All rights reserved.
2 //
3 // Redistribution and use in source and binary forms, with or without
4 // modification, are permitted provided that the following conditions
5 // are met:
6 // 1. Redistributions of source code must retain the above copyright
7 //    notice, this list of conditions and the following disclaimer.
8 // 2. Redistributions in binary form must reproduce the above copyright
9 //    notice, this list of conditions and the following disclaimer in the
10 //    documentation and/or other materials provided with the distribution.
11 //
12 // THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
13 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
14 // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
15 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
16 // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
17 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
18 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
19 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
20 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
21 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
22 // THE POSSIBILITY OF SUCH DAMAGE.
23
24 var OctaneSuites = [
25     {name: "code-multi-load", category: "Latency", files: ["code-load.js"]}
26 ];
27
28 for (var i = 0; i < OctaneSuites.length; ++i) {
29     var suite = OctaneSuites[i];
30     var myBenchmarks = [{
31         name: suite.name,
32         unit: "ms/run",
33         category: suite.category,
34     }];
35     
36     var code = "";
37     code += "<script src=\"Octane/base.js\"></script>\n";
38     for (var j = 0; j < suite.files.length; ++j)
39         code += "<script src=\"Octane/" + suite.files[j] + "\"></script>\n";
40     code += "<script>\n";
41     code += "BenchmarkSuite.scores = [];\n";
42     code += "var __suite = BenchmarkSuite.suites[0];\n";
43     code += "for (var __thing = __suite.RunStep({}); __thing; __thing = __thing());\n";
44     code += "top.JetStream.reportResult(\n";
45     code += "    BenchmarkSuite.GeometricMean(__suite.results) / 1000);\n";
46     code += "</script>";
47     
48     JetStream.addPlan({
49         name: suite.name,
50         benchmarks: myBenchmarks,
51         code: code
52     });
53 }
54