diff options
-rw-r--r-- | tests/html/bindings_perf.html | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/html/bindings_perf.html b/tests/html/bindings_perf.html new file mode 100644 index 00000000000..d50cf940c32 --- /dev/null +++ b/tests/html/bindings_perf.html @@ -0,0 +1,36 @@ +<button onclick="void_method()">measure void method</button> +<button onclick="int_getter()">measure int getter</button> +<button onclick="firstChild_getter()">measure firstChild getter</button> +<script> +var t = 'TestBinding' in window ? (new TestBinding()) : (new TextEncoder()); +function void_method() { + var start = new Date(); + var count = 1000000; + for (var i = 0; i < count; i++) { + var a = t.receiveVoid(); + } + var stop = new Date(); + console.log('void method: ' + ((stop - start) / count * 1e6) + 'ns'); +} + +function int_getter() { + var start = new Date(); + var count = 1000000; + for (var i = 0; i < count; i++) { + var a = t.longAttribute; + } + var stop = new Date(); + console.log('int getter: ' + ((stop - start) / count * 1e6) + 'ns'); +} + +function firstChild_getter() { + var n = document.documentElement; + var start = new Date(); + var count = 100000000; + for (var i = 0; i < count; i++) { + var a = n.firstChild; + } + var stop = new Date(); + console.log('firstChild getter: ' + ((stop - start) / count * 1e6) + 'ns'); +} +</script> |