Skip to content

Commit

Permalink
perf: unchecked array access
Browse files Browse the repository at this point in the history
  • Loading branch information
mattjohnsonpint committed Feb 22, 2024
1 parent 01f57fa commit f272cf2
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 18 deletions.
4 changes: 2 additions & 2 deletions assembly/src/json.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,9 +117,9 @@ export namespace JSON {
let keys = data.keys();
let values = data.values();
for (let i = 0; i < data.size; i++) {
result.write(serializeString(keys[i].toString()));
result.write(serializeString(unchecked(keys[i]).toString()));
result.writeCodePoint(colonCode);
result.write(JSON.stringify(values[i]));
result.write(JSON.stringify(unchecked(values[i])));
if (i < data.size - 1) {
result.writeCodePoint(commaCode);
}
Expand Down
32 changes: 16 additions & 16 deletions bench/benchmark.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,34 +27,34 @@ bench("Parse Number STDLIB", () => {
blackbox<i32>(i32.parse("12345"));
});
*/
bench("Stringify Object (Vec3)", () => {
blackbox<string>(JSON.stringify(vec));
});
// bench("Stringify Object (Vec3)", () => {
// blackbox<string>(JSON.stringify(vec));
// });

bench("Parse Object (Vec3)", () => {
blackbox<Vec3>(JSON.parse<Vec3>('{"x":0,"y":0,"z":0}'));
});

bench("Stringify Number Array", () => {
blackbox<string>(JSON.stringify<i32[]>([1, 2, 3]));
});
// bench("Stringify Number Array", () => {
// blackbox<string>(JSON.stringify<i32[]>([1, 2, 3]));
// });

bench("Parse Number Array", () => {
blackbox<i32[]>(JSON.parse<i32[]>(blackbox("[1,2,3]")));
});
// bench("Parse Number Array", () => {
// blackbox<i32[]>(JSON.parse<i32[]>(blackbox("[1,2,3]")));
// });

bench("Stringify String", () => {
blackbox<string>(JSON.stringify(blackbox('Hello "World!')));
});
// bench("Stringify String", () => {
// blackbox<string>(JSON.stringify(blackbox('Hello "World!')));
// });

bench("Parse String", () => {
blackbox<string>(JSON.parse<string>(blackbox('"Hello "World!"')));
});
// bench("Parse String", () => {
// blackbox<string>(JSON.parse<string>(blackbox('"Hello "World!"')));
// });
/*
bench("Stringify Boolean Array", () => {
blackbox(JSON.stringify<boolean[]>([true, false, true]));
});
bench("Stringify String Array", () => {
blackbox(JSON.stringify<string[]>(["a", "b", "c"]));
});*/
});*/

0 comments on commit f272cf2

Please sign in to comment.