Skip to content

Instantly share code, notes, and snippets.

@kripken
Created June 17, 2025 20:04
Show Gist options
  • Save kripken/27276587ff48bd34689a69442965dc73 to your computer and use it in GitHub Desktop.
Save kripken/27276587ff48bd34689a69442965dc73 to your computer and use it in GitHub Desktop.
HEAP8 benchmark in JS and Python
var data = new ArrayBuffer(1024);
HEAP8 = new Int8Array(data);
HEAP32 = new Int32Array(data);
for (var i = 0; i < 1024; i++) {
HEAP8[i] = (i & 17);
}
for (var n = 0; n < 1024 * 500; n++) {
for (var i = 0; i < 256; i++) {
HEAP32[i] = HEAP32[(i + 37) & 255] + i;
}
}
var total = 0;
for (var i = 0; i < 1024; i++) {
total = (total + (HEAP8[i] * HEAP8[i])) & 0xff;
}
console.log(total);
data = bytearray(1024)
memory = memoryview(data).cast('B')
HEAP8 = memory.cast('b')
HEAP32 = memory.cast('i')
for i in range(0, 1024):
HEAP8[i] = (i & 17)
for n in range(0, 1024 * 500):
for i in range(0, 256):
HEAP32[i] = HEAP32[(i + 37) & 255] + i
total = 0;
for i in range(1024):
total = (total + (HEAP8[i] * HEAP8[i])) & 0xff
print(total)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment