Skip to content

Commit 7c28483

Browse files
committed
Use Uint8Array pool in browsers, just like node does with buffers
1 parent a46cc49 commit 7c28483

11 files changed

+247
-140
lines changed

bench/prof.js

+11-4
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,28 @@ var protobuf = require("..");
66

77
var root = protobuf.parse(fs.readFileSync(require.resolve("../bench/bench.proto")).toString("utf8")).root;
88
var Test = root.lookup("Test");
9-
var data = data = require("../bench/bench.json");
9+
var data = require("../bench/bench.json");
1010

11-
var count = process.argv.length > 3 && parseInt(process.argv[3]) || 10000000;
11+
var count = process.argv.length > 3 && parseInt(process.argv[3], 10) || 10000000;
1212

13-
var r = protobuf.Reader.create(new Buffer(0));
13+
function setupBrowser() {
14+
protobuf.Writer.create = function create_browser() { return new protobuf.Writer(); };
15+
protobuf.Reader.create = function create_browser(buf) { return new protobuf.Reader(buf); };
16+
}
1417

1518
switch (process.argv[2]) {
1619
default:
17-
console.log("usage: " + path.basename(process.argv[1]) + " <encode|decode> [iterations=10000000]");
20+
console.error("usage: " + path.basename(process.argv[1]) + " <encode|decode|encode-browser|decode-browser> [iterations=10000000]");
1821
process.exit(1);
1922
return;
23+
case "encode-browser":
24+
setupBrowser();
2025
case "encode":
2126
for (var i = 0; i < count; ++i)
2227
Test.encode(data).finish();
2328
break;
29+
case "decode-browser":
30+
setupBrowser();
2431
case "decode":
2532
var buf = Test.encode(data).finish();
2633
for (var i = 0; i < count; ++i)

0 commit comments

Comments
 (0)