diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-05-21 12:39:07 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-05-21 12:39:07 -0700 |
commit | abe634001c34f74fabc660d61c37cbe44f44a443 (patch) | |
tree | 7005e3c219fe78ab606542c2b661a7c8efcaad5f /tests/embind/embind.benchmark.js | |
parent | f46a8ba8cadd98ddfb6e13a6c34aa890f3355bfd (diff) | |
parent | 954f70274ed3b85b9d3885c6087df96376ca07d3 (diff) |
Merge pull request #1185 from imvu/embind-performance-and-code-size-improvements
Embind performance and code size improvements
Diffstat (limited to 'tests/embind/embind.benchmark.js')
-rw-r--r-- | tests/embind/embind.benchmark.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/embind/embind.benchmark.js b/tests/embind/embind.benchmark.js index 7b20db88..3669bc28 100644 --- a/tests/embind/embind.benchmark.js +++ b/tests/embind/embind.benchmark.js @@ -248,3 +248,38 @@ function _call_through_interface1() { Module.print("C++ -> JS std::wstring through interface " + N + " iters: " + elapsed + " msecs."); obj.delete(); } + +function _call_through_interface2() { + var N = 1000000; + var total = 0; + var obj = Module['Interface'].implement({ + call_with_typed_array: function(ta) { + total += ta.length; + }, + call_with_memory_view: function(ta) { + total += ta.length; + }, + }); + + var start = _emscripten_get_now(); + Module['callInterface2'](N, obj); + var elapsed = _emscripten_get_now() - start; + Module.print("C++ -> JS typed array instantiation " + N + " iters: " + elapsed + " msecs."); + + var start = _emscripten_get_now(); + Module['callInterface3'](N, obj); + var elapsed = _emscripten_get_now() - start; + Module.print("C++ -> JS memory_view instantiation" + N + " iters: " + elapsed + " msecs."); + obj.delete(); +} + +function _returns_val_benchmark() { + var N = 1000000; + var v = 1; + var start = _emscripten_get_now(); + for(var i = 0; i < N; ++i) { + v = Module['returns_val'](v); + } + var elapsed = _emscripten_get_now() - start; + Module.print("returns_val " + N + " iters: " + elapsed + " msecs"); +} |