Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
JavaScript Uint8Array to Base64: btoa vs btoa spread
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/142.0.0.0 Safari/537.36
Browser:
Chrome 142
Operating system:
Windows
Device Platform:
Desktop
Date tested:
4 months ago
Test name
Executions per second
btoa 1K
86444.1 Ops/sec
btoa 32K
2796.6 Ops/sec
btoa 64K
1356.6 Ops/sec
btoa 1M
49.3 Ops/sec
btoa spread 1K
47272.0 Ops/sec
btoa spread 32K
1696.5 Ops/sec
btoa spread 64K
909.1 Ops/sec
HTML Preparation code:
<!--your preparation HTML code goes here-->
Script Preparation code:
function bytesToBase64ByBtoa(bytes) { return btoa(bytes.reduce((data, byte) => data + String.fromCharCode(byte), "")); } function bytesToBase64ByBtoaSpread(bytes) { return btoa(String.fromCharCode(...bytes)); } const bytes1K = new Uint8Array(1024); const bytes32K = new Uint8Array(32768); const bytes64K = new Uint8Array(65536); const bytes1M = new Uint8Array(1048576); for (const bytes of [bytes1K, bytes32K, bytes64K, bytes1M]) for (let i = 0; i < bytes.length; i += 65536) crypto.getRandomValues(bytes.subarray(i, i + 65536));
Tests:
btoa 1K
bytesToBase64ByBtoa(bytes1K);
btoa 32K
bytesToBase64ByBtoa(bytes32K);
btoa 64K
bytesToBase64ByBtoa(bytes64K);
btoa 1M
bytesToBase64ByBtoa(bytes1M);
btoa spread 1K
bytesToBase64ByBtoaSpread(bytes1K);
btoa spread 32K
bytesToBase64ByBtoaSpread(bytes32K);
btoa spread 64K
bytesToBase64ByBtoaSpread(bytes64K);