Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Comparing 3 small hash types made in javascript
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (iPhone; CPU iPhone OS 18_5_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/137.0.7151.79 Mobile/15E148 Safari/604.1
Browser:
Chrome Mobile iOS 137
Operating system:
iOS 18.5.0
Device Platform:
Mobile
Date tested:
11 months ago
Test name
Executions per second
crc32
165351.1 Ops/sec
adler32
11101294.0 Ops/sec
fletcher32
5979114.5 Ops/sec
Tests:
crc32
function crc32(s) { for (var t = [], i = 0; i < 256; i++) { for (var c = i, j = 0; j < 8; j++) { c = c & 1 ? 0xEDB88320 ^ c >>> 1 : c >>> 1; } t[i] = c; } for (i = -1, c = -1; ++i < s.length;) { c = c >>> 8 ^ t[c & 255 ^ s.charCodeAt(i)]; } return ((c ^ -1) >>> 0).toString(16).toUpperCase(); } crc32(Date.now())
adler32
function adler32(string) { const MOD_ADLER = 65521; let a = 1, b = 0; for (let i = 0; i < string.length; i++) { a = (a + string.charCodeAt(i)) % MOD_ADLER; b = (b + a) % MOD_ADLER; } return (b << 16 | a).toString(16); } adler32(Date.now())
fletcher32
function fletcher32(data) { for (let i = sum1 = sum2 = 0; i < data.length; i++) { sum1 = (sum1 + data.charCodeAt(i)) % 65535; sum2 = (sum2 + sum1) % 65535; } return (sum2 << 16 | sum1).toString(16); } fletcher32(Date.now())