Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
TextEncoder vs String hash v2
Test TextEncoder encoding vs simply encoding with a string
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36
Browser:
Chrome 121
Operating system:
Windows
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
Baseline encoder
488.9 Ops/sec
baseline hash
1364.6 Ops/sec
Script Preparation code:
iterations = 1000; function randomStringGen(n) { let strings = []; for (let i = 0; i < n; i++) { let s = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15); strings[i] = s; } return strings; } var randomStrings = randomStringGen(iterations); var encoder = new TextEncoder(); var arrayBuffer = new ArrayBuffer(iterations*1000); var buffer = new Uint8Array(arrayBuffer);
Tests:
Baseline encoder
var j = 0; for (let i = 0; i < iterations; i++) { var str = randomStrings[i % iterations]; buffer[j] = str.length; var res = encoder.encodeInto(str, buffer.subarray(j+1)); j = j + res.written; }
baseline hash
var stringMap = {}; var counter = 0; function stringToMap(s) { var i = stringMap[s]; if (i === undefined) { stringMap[s] = counter++; } else { return i; } } var j = 0; for (let i = 0; i < iterations; i++) { var str = randomStrings[i % iterations]; var num = stringToMap(str); buffer[j] = num; j = j + 8; }