Modified: trunk/PerformanceTests/ChangeLog (223955 => 223956)
--- trunk/PerformanceTests/ChangeLog 2017-10-25 16:38:14 UTC (rev 223955)
+++ trunk/PerformanceTests/ChangeLog 2017-10-25 16:58:57 UTC (rev 223956)
@@ -1,3 +1,19 @@
+2017-10-25 Robin Morisset <[email protected]>
+
+ Support the TailBench9000 benchmark in run-jsc-benchmarks
+ https://bugs.webkit.org/show_bug.cgi?id=178451
+
+ Reviewed by Saam Barati.
+
+ The separation between the definition of the benchmarks (in merge-sort.js and n-body.js) and their loops (in *-run.js)
+ was causing trouble since the load of the js files only succeeded from the same directory. So I chose to merge them, following
+ the example of the other benchmarks.
+
+ * TailBench9000/merge-sort-run.js: Removed.
+ * TailBench9000/merge-sort.js:
+ * TailBench9000/n-body-run.js: Removed.
+ * TailBench9000/n-body.js:
+
2017-10-19 Michael Catanzaro <[email protected]>
-Wsign-compare triggered by MallocBench
Deleted: trunk/PerformanceTests/TailBench9000/merge-sort-run.js (223955 => 223956)
--- trunk/PerformanceTests/TailBench9000/merge-sort-run.js 2017-10-25 16:38:14 UTC (rev 223955)
+++ trunk/PerformanceTests/TailBench9000/merge-sort-run.js 2017-10-25 16:58:57 UTC (rev 223956)
@@ -1,4 +0,0 @@
-load("merge-sort.js");
-
-for (var i = 0; i < 3000; ++i)
- TEST_mergeSort();
Modified: trunk/PerformanceTests/TailBench9000/merge-sort.js (223955 => 223956)
--- trunk/PerformanceTests/TailBench9000/merge-sort.js 2017-10-25 16:38:14 UTC (rev 223955)
+++ trunk/PerformanceTests/TailBench9000/merge-sort.js 2017-10-25 16:58:57 UTC (rev 223956)
@@ -152,3 +152,6 @@
test(0);
}
+
+for (var i = 0; i < 3000; ++i)
+ TEST_mergeSort();
Deleted: trunk/PerformanceTests/TailBench9000/n-body-run.js (223955 => 223956)
--- trunk/PerformanceTests/TailBench9000/n-body-run.js 2017-10-25 16:38:14 UTC (rev 223955)
+++ trunk/PerformanceTests/TailBench9000/n-body-run.js 2017-10-25 16:58:57 UTC (rev 223956)
@@ -1,4 +0,0 @@
-load("n-body.js");
-
-for (var i = 0; i < 300; ++i)
- TEST_nBody();
Modified: trunk/PerformanceTests/TailBench9000/n-body.js (223955 => 223956)
--- trunk/PerformanceTests/TailBench9000/n-body.js 2017-10-25 16:38:14 UTC (rev 223955)
+++ trunk/PerformanceTests/TailBench9000/n-body.js 2017-10-25 16:58:57 UTC (rev 223956)
@@ -235,3 +235,6 @@
if (ret != expected)
throw "ERROR: bad result: expected " + expected + " but got " + ret;
}
+
+for (var i = 0; i < 300; ++i)
+ TEST_nBody();
Modified: trunk/Tools/ChangeLog (223955 => 223956)
--- trunk/Tools/ChangeLog 2017-10-25 16:38:14 UTC (rev 223955)
+++ trunk/Tools/ChangeLog 2017-10-25 16:58:57 UTC (rev 223956)
@@ -1,3 +1,12 @@
+2017-10-25 Robin Morisset <[email protected]>
+
+ Support the TailBench9000 benchmark in run-jsc-benchmarks
+ https://bugs.webkit.org/show_bug.cgi?id=178451
+
+ Reviewed by Saam Barati.
+
+ * Scripts/run-jsc-benchmarks:
+
2017-10-25 Adrian Perez de Castro <[email protected]>
[WPE] Remove GLib API functions which use Cairo
Modified: trunk/Tools/Scripts/run-jsc-benchmarks (223955 => 223956)
--- trunk/Tools/Scripts/run-jsc-benchmarks 2017-10-25 16:38:14 UTC (rev 223955)
+++ trunk/Tools/Scripts/run-jsc-benchmarks 2017-10-25 16:58:57 UTC (rev 223956)
@@ -48,6 +48,7 @@
SUNSPIDER_PATH = PERFORMANCETESTS_PATH + "SunSpider" + "tests" + "sunspider-1.0"
LONGSPIDER_PATH = PERFORMANCETESTS_PATH + "LongSpider"
V8_PATH = PERFORMANCETESTS_PATH + "SunSpider" + "tests" + "v8-v6"
+TAILBENCH_PATH = PERFORMANCETESTS_PATH + "TailBench9000"
MICROBENCHMARKS_PATH = OPENSOURCE_PATH + "JSTests" + "microbenchmarks"
OCTANE_WRAPPER_PATH = PERFORMANCETESTS_PATH + "Octane" + "wrappers"
JSBENCH_PATH = PERFORMANCETESTS_PATH + "JSBench"
@@ -226,6 +227,7 @@
$includeOctane=true
$includeCompressionBench = true
$includeSixSpeed = true
+$includeTailBench = true
$measureGC=false
$benchmarkPattern=nil
$verbosity=0
@@ -317,6 +319,7 @@
puts "--browsermark-js Only run browsermark-js."
puts "--browsermark-dom Only run browsermark-dom."
puts "--octane Only run Octane."
+ puts "--tail-bench Only run TailBench"
puts "--compression-bench Only run compression bench"
puts " The default is to run all benchmarks. The above options can"
puts " be combined to run any subset (so --sunspider --dsp will run"
@@ -1624,6 +1627,18 @@
end
end
+class TailBenchBenchmark
+ include Benchmark
+
+ def initialize(name)
+ @name = name
+ end
+
+ def emitRunCode(plan)
+ emitBenchRunCode(fullname, plan, SingleFileTimedBenchmarkParameters.new(ensureFile("TailBench-#{@name}", "#{TAILBENCH_PATH}/#{@name}.js")))
+ end
+end
+
class MicrobenchmarksBenchmark
include Benchmark
@@ -2671,6 +2686,7 @@
$includeOctane = false
$includeCompressionBench = false
$includeSixSpeed = false
+ $includeTailBench = false;
$sawBenchOptions = true
end
end
@@ -2696,6 +2712,7 @@
['--octane', GetoptLong::NO_ARGUMENT],
['--compression-bench', GetoptLong::NO_ARGUMENT],
['--six-speed', GetoptLong::NO_ARGUMENT],
+ ['--tail-bench', GetoptLong::NO_ARGUMENT],
['--benchmarks', GetoptLong::REQUIRED_ARGUMENT],
['--measure-gc', GetoptLong::OPTIONAL_ARGUMENT],
['--force-vm-kind', GetoptLong::REQUIRED_ARGUMENT],
@@ -2775,6 +2792,9 @@
when '--js-bench'
resetBenchOptionsIfNecessary
$includeJSBench = true
+ when '--tail-bench'
+ resetBenchOptionsIfNecessary
+ $includeTailBench = true
when '--microbenchmarks'
resetBenchOptionsIfNecessary
$includeMicrobenchmarks = true
@@ -3015,7 +3035,13 @@
| nameAndMode |
JSBENCH.add JSBenchBenchmark.new(*nameAndMode)
}
-
+
+ TAILBENCH = BenchmarkSuite.new("TailBench", :geometricMean, 0)
+ ["n-body", "merge-sort"].each {
+ | name |
+ TAILBENCH.add TailBenchBenchmark.new(name);
+ }
+
MICROBENCHMARKS = BenchmarkSuite.new("Microbenchmarks", :geometricMean, 0)
Dir.foreach(MICROBENCHMARKS_PATH) {
| filename |
@@ -3154,10 +3180,14 @@
end
end
+ if $includeTailBench and not TAILBENCH.empty?
+ $suites << TAILBENCH
+ end
+
if $includeMicrobenchmarks and not MICROBENCHMARKS.empty?
$suites << MICROBENCHMARKS
end
-
+
if $includeAsmBench and not ASMBENCH.empty?
if ASMBENCH_PATH
$suites << ASMBENCH