jsPerf.app is an online JavaScript performance benchmark test runner & jsperf.com mirror. It is a complete rewrite in homage to the once excellent jsperf.com now with hopefully a more modern & maintainable codebase.
jsperf.com URLs are mirrored at the same path, e.g:
https://jsperf.com/negative-modulo/2
Can be accessed at:
https://jsperf.app/negative-modulo/2
function hashCode(str) {
var hash = 0;
if (str.length === 0) {
return hash;
}
for (let i = 0; i < str.length; i++) {
const char = str.charCodeAt(i);
hash = ((hash << 5) - hash) + char;
hash |= 0; // Convert to 32bit integer
}
return hash;
}
async function digestMessage(message) {
const encoder = new TextEncoder();
const data = encoder.encode(message);
const hash = await crypto.subtle.digest("SHA-1", data);
return hash;
}
function arrayBufferToHexString(dataBuffer) {
const dataArray = Array.from(new Uint8Array(dataBuffer));
return dataArray.map(b => b.toString(16).padStart(2, "0")).join("");
}
Ready to run.
Test | Ops/sec | |
---|---|---|
HashCode |
| ready |
Cyrpto |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.