Last active
November 27, 2017 21:49
-
-
Save eprev/bc7114fdf7d9398c461f79c028f48abd to your computer and use it in GitHub Desktop.
Revisions
-
eprev revised this gist
Nov 27, 2017 . 1 changed file with 5 additions and 5 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -13,35 +13,35 @@ suite.add("\"use asm\";", function () { "use asm"; const N = 128|0; let m1 = new Uint32Array(N * N); let m2 = new Uint32Array(N * N); let res = new Uint32Array(N * N); for (let i = 0|0; (i|0) < (N|0); i=(i+1)|0) { for (let j = 0|0; (j|0) < (N|0); j=(j+1)|0) { for (let k = 0|0; (k|0) < (N|0); k=(k+1)|0) { res[(i << 7) + j|0] += m1[(i << 7) + k|0] * m2[(k << 7) + j|0] } } } }); suite.add("\"use asm\";", function () { "use asm"; const N = 128|0; let m1 = new Uint32Array(N * N); let m2 = new Uint32Array(N * N); let tmp = new Uint32Array(N * N); let res = new Uint32Array(N * N); for (let i = 0|0; (i|0) < (N|0); i=(i+1)|0) { for (let j = 0|0; (j|0) < (N|0); j=(j+1)|0) { tmp[(i << 7) + j|0] = m2[(j << 7) + i|0]; } } for (let i = 0|0; (i|0) < (N|0); i=(i+1)|0) { for (let j = 0|0; (j|0) < (N|0); j=(j+1)|0) { for (let k = 0|0; (k|0) < (N|0); k=(k+1)|0) { res[(i << 7) + j|0] += m1[(i << 7) + k|0] * tmp[(j << 7) + k|0] } } } -
eprev revised this gist
Nov 27, 2017 . 1 changed file with 17 additions and 15 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -11,35 +11,37 @@ suite.add("\"use asm\";", function () { "use asm"; const N = 100|0; let m1 = new Uint32Array(N * N); let m2 = new Uint32Array(N * N); let res = new Uint32Array(N * N); for (let i = 0|0; (i|0) < (N|0); i=(i+1)|0) { for (let j = 0|0; (j|0) < (N|0); j=(j+1)|0) { for (let k = 0|0; (k|0) < (N|0); k=(k+1)|0) { res[i * N + j|0] += m1[i * N + k|0] * m2[k * N + j|0] } } } }); suite.add("\"use asm\";", function () { "use asm"; const N = 100|0; let m1 = new Uint32Array(N * N); let m2 = new Uint32Array(N * N); let tmp = new Uint32Array(N * N); let res = new Uint32Array(N * N); for (let i = 0|0; (i|0) < (N|0); i=(i+1)|0) { for (let j = 0|0; (j|0) < (N|0); j=(j+1)|0) { tmp[i * N + j|0] = m2[j * N + i|0]; } } for (let i = 0|0; (i|0) < (N|0); i=(i+1)|0) { for (let j = 0|0; (j|0) < (N|0); j=(j+1)|0) { for (let k = 0|0; (k|0) < (N|0); k=(k+1)|0) { res[i * N + j|0] += m1[i * N + k|0] * tmp[j * N + k|0] } } } -
eprev revised this gist
Nov 27, 2017 . 1 changed file with 20 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -25,6 +25,26 @@ } }); suite.add("const N = 100;", function () { const N = 100; let m1 = new Uint32Array(N * N); let m2 = new Uint32Array(N * N); let tmp = new Uint32Array(N * N); let res = new Uint32Array(N * N); for (let i = 0; i < N; i++) { for (let j = 0; j < N; j++) { tmp[i * N + j] = m2[j * N + i]; } } for (let i = 0; i < N; i++) { for (let j = 0; j < N; j++) { for (let k = 0; k < N; k++) { res[i * N + j] += m1[i * N + k] * tmp[j * N + k] } } } }); suite.on("cycle", function (evt) { console.log(" - " + evt.target); }); -
eprev revised this gist
Nov 27, 2017 . 2 changed files with 4 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,7 +2,7 @@ <html> <head> <meta charset="utf-8"/> <title>Matrix #jsbench #jsperf</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/benchmark/1.0.0/benchmark.min.js"></script> <script src="./suite.js"></script> </head> This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -11,8 +11,8 @@ suite.add("const N = 100;", function () { const N = 100; let m1 = new Uint32Array(N * N); let m2 = new Uint32Array(N * N); let res = new Uint32Array(N * N); @@ -41,7 +41,7 @@ }); }); console.log("Matrix #jsbench #jsperf"); console.log(new Array(30).join("-")); suite.run(); }); -
eprev created this gist
Nov 27, 2017 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,13 @@ <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>Matrix</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/benchmark/1.0.0/benchmark.min.js"></script> <script src="./suite.js"></script> </head> <body> <h1>Open the console to view the results</h1> <h2><code>cmd + alt + j</code> or <code>ctrl + alt + j</code></h2> </body> </html> This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,47 @@ "use strict"; (function (factory) { if (typeof Benchmark !== "undefined") { factory(Benchmark); } else { factory(require("benchmark")); } })(function (Benchmark) { var suite = new Benchmark.Suite; suite.add("const N = 1000;", function () { const N = 1000; let m1 = new Uint32Array(N * N); let m2 = new Uint32Array(N * N); let res = new Uint32Array(N * N); for (let i = 0; i < N; i++) { for (let j = 0; j < N; j++) { for (let k = 0; k < N; k++) { res[i * N + j] += m1[i * N + k] * m1[k * N + j] } } } }); suite.on("cycle", function (evt) { console.log(" - " + evt.target); }); suite.on("complete", function (evt) { console.log(new Array(30).join("-")); var results = evt.currentTarget.sort(function (a, b) { return b.hz - a.hz; }); results.forEach(function (item) { console.log((idx + 1) + ". " + item); }); }); console.log("Matrix"); console.log(new Array(30).join("-")); suite.run(); });