1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 07:14:47 -05:00

bench(common): base64 short strings (#13851)

This commit is contained in:
Aaron O'Mullan 2022-03-07 11:12:16 +01:00 committed by GitHub
parent d5642f5df7
commit f65529aa67
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -37,13 +37,19 @@ function benchStats(name, n, t1, t2) {
`n = ${n}, dt = ${dt.toFixed(3)}s, r = ${r.toFixed(0)}/s, t = ${ns}ns/op`; `n = ${n}, dt = ${dt.toFixed(3)}s, r = ${r.toFixed(0)}/s, t = ${ns}ns/op`;
} }
function benchBase64RoundTrip() { function benchB64RtLong() {
const input = "long-string".repeat(99999); const input = "long-string".repeat(99999);
benchSync("base64_roundtrip", 10, () => { benchSync("b64_rt_long", 1e2, () => {
atob(btoa(input)); atob(btoa(input));
}); });
} }
function benchB64RtShort() {
benchSync("b64_rt_short", 1e6, () => {
atob(btoa("123"));
});
}
function benchUrlParse() { function benchUrlParse() {
benchSync("url_parse", 5e4, (i) => { benchSync("url_parse", 5e4, (i) => {
new URL(`http://www.google.com/${i}`); new URL(`http://www.google.com/${i}`);
@ -117,7 +123,8 @@ async function main() {
// A common "language feature", that should be fast // A common "language feature", that should be fast
// also a decent representation of a non-trivial JSON-op // also a decent representation of a non-trivial JSON-op
benchUrlParse(); benchUrlParse();
benchBase64RoundTrip(); benchB64RtLong();
benchB64RtShort();
// IO ops // IO ops
benchReadZero(); benchReadZero();
benchWriteNull(); benchWriteNull();