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 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Mobile Safari/537.36
Browser:
Chrome Mobile 138
Operating system:
Android
Device Platform:
Mobile
Date tested:
9 months ago
Test name
Executions per second
Baseline encoder
1827.9 Ops/sec
baseline hash
17189.1 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; }