Update ReadMe.md
[qtwebkit.git] / JSTests / microbenchmarks / super-get-by-id-with-this-polymorphic.js
blobcc621be30b9347946c3e0cf1fcb40462522bea03
1 const calc = val => {
2     let c = 0;
3     for (let v = val; v; v >>>= 1) c += v & 1;
4     return val * 2 + val / 2 + c;
7 class A {
8     constructor(x) { this._value = x; }
9     set value(x) { this._value = x; }
10     get value() { return this._value; }
12 class B extends A {
13     set value(x) { super.value = x; }
14     get value() { return calc(super.value); }
17 const bench = (init, num) => {
18     let arr = [];
19     for (let i = 0; i != num; ++i) arr.push(new B(init));
20     for (let i = 0; i != num; ++i) arr[i].value += i;
21     let sum = 0;
22     for (let i = 0; i != num; ++i) sum += arr[i].value;
25 bench(2, 10000);
26 bench(1 << 30, 10000);
27 bench(42.2, 10000);
28 bench(42.5e10, 10000);