Init Private vs Public properties (v5)

Revision 5 of this benchmark created on


Setup

Math.random = (() => {
	'use strict';
    let seed = 49734321;
    return function MockMathRandom() {
        // Robert Jenkins' 32 bit integer hash function.
        seed = (seed + 0x7ed55d16 + (seed << 12)) & 0xffffffff;
        seed = (seed ^ 0xc761c23c ^ (seed >>> 19)) & 0xffffffff;
        seed = (seed + 0x165667b1 + (seed << 5)) & 0xffffffff;
        seed = ((seed + 0xd3a2646c) ^ (seed << 9)) & 0xffffffff;
        seed = (seed + 0xfd7046c5 + (seed << 3)) & 0xffffffff;
        seed = (seed ^ 0xb55a4f09 ^ (seed >>> 16)) & 0xffffffff;
        return (seed & 0xfffffff) / 0x10000000;
    };
})();

Test runner

Ready to run.

Testing in
TestOps/sec
private field
class Bar {
	#bar = 1;
	foo() {
		return this.#bar;
	}
}

(() => {
	const bar = new Bar();
	return bar.foo() * Math.random();
})
ready
public field
class Foo {
	bar = 1;
	foo() {
		return this.bar;
	}
}

(() => {
	const bar = new Bar();
	return bar.foo() * Math.random();
})
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.