Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Hash Test
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/137.0.0.0 Mobile Safari/537.36
Browser:
Chrome Mobile 137
Operating system:
Android
Device Platform:
Mobile
Date tested:
one year ago
Test name
Executions per second
regular
82613872.0 Ops/sec
asm
84981920.0 Ops/sec
Script Preparation code:
var alpha = "abcdefghijklmnopqrstuvwxyz"; var test = []; for(var i = 0; i < 100000; i++){ test.push(alpha[Math.random() * 26]); } var testStr = test.join(""); function djb2Regular(str) { var hash = 5381; if (str == null) { return hash; } for (var i = 0; i < str.length; i++) { var char = str.charCodeAt(i); hash = ((hash << 5) + hash) + char; /* hash * 33 + c */ } return hash; } function hashModule(stdlib, foreign, heap) { "use asm"; function djb2Asm(str) { var hash = 5381; if (str == null) { return hash; } var length = str.length | 0; for (var i = 0 | 0; i < length; i++) { var char = str.charCodeAt(i) | 0; hash = (((hash << 5) + hash) + char) | 0; /* hash * 33 + c */ } return hash | 0; } return { hash: djb2Asm }; } var djb2Asm = hashModule(window, null, null).hash;
Tests:
regular
djb2Regular(testStr)
asm
djb2Asm(testStr)