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`;
}
function benchBase64RoundTrip() {
function benchB64RtLong() {
const input = "long-string".repeat(99999);
benchSync("base64_roundtrip", 10, () => {
benchSync("b64_rt_long", 1e2, () => {
atob(btoa(input));
});
}
function benchB64RtShort() {
benchSync("b64_rt_short", 1e6, () => {
atob(btoa("123"));
});
}
function benchUrlParse() {
benchSync("url_parse", 5e4, (i) => {
new URL(`http://www.google.com/${i}`);
@ -117,7 +123,8 @@ async function main() {
// A common "language feature", that should be fast
// also a decent representation of a non-trivial JSON-op
benchUrlParse();
benchBase64RoundTrip();
benchB64RtLong();
benchB64RtShort();
// IO ops
benchReadZero();
benchWriteNull();