mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Add key/value iterable HTML benchmark
This commit is contained in:
parent
64dc0c4b9e
commit
30fb15df23
1 changed files with 44 additions and 0 deletions
44
tests/html/pair_iterable_perf.html
Normal file
44
tests/html/pair_iterable_perf.html
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
<!doctype html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Value and pair iterable bindings</title>
|
||||||
|
<script>
|
||||||
|
// Requires passing --pref=dom.testbinding.enabled to Servo binary
|
||||||
|
function collect(iter) {
|
||||||
|
var collection = [];
|
||||||
|
for (element of iter) {
|
||||||
|
collection.push(element);
|
||||||
|
}
|
||||||
|
return collection;
|
||||||
|
}
|
||||||
|
|
||||||
|
function measure_time(func) {
|
||||||
|
var start = performance.now();
|
||||||
|
func();
|
||||||
|
var stop = performance.now();
|
||||||
|
|
||||||
|
return (stop - start) / 1000.0;
|
||||||
|
};
|
||||||
|
|
||||||
|
const ENTRY_COUNT = 10000;
|
||||||
|
const RUN_COUNT = 10;
|
||||||
|
|
||||||
|
var benchMe = function() {
|
||||||
|
var t = new TestBindingPairIterable();
|
||||||
|
|
||||||
|
for (var i = 0; i < ENTRY_COUNT; i++) {
|
||||||
|
t.add(i.toString(), i);
|
||||||
|
}
|
||||||
|
|
||||||
|
var result = collect(t.entries());
|
||||||
|
};
|
||||||
|
|
||||||
|
var avg = 0;
|
||||||
|
for (var i = 0; i < RUN_COUNT; i++) {
|
||||||
|
var time = measure_time(benchMe);
|
||||||
|
avg += time;
|
||||||
|
}
|
||||||
|
avg /= RUN_COUNT;
|
||||||
|
|
||||||
|
console.log('Average running time across ' + RUN_COUNT + ' runs: ' + avg);
|
||||||
|
|
||||||
|
</script>
|
Loading…
Add table
Add a link
Reference in a new issue