Worker was removing listener when stopped but was then deaf to main thread, so restore listener after posting its message back.
Reduce WASM module iterations to get results more often from slower hardware.
let r0: u64 = 0
let r1: u64 = 0
let result = v128.splat<u64>(0)
- const iterations: u64 = 1 << 24
+ const iterations: u64 = 1 << 20
for (let i: u64 = 0; i < iterations; i++) {
m0 = i64x2(unchecked(seed + i), unchecked(seed + i + 1))
return new Promise(resolve => {
const attempts = []
for (let i = 0; i < workers.length; i++) {
- data.seed = bigintToHex((bigintRandom() & ~((1n << 24n) - 1n)), 16)
+ data.seed = bigintToHex((bigintRandom() & ~((1n << 20n) - 1n)), 16)
attempts.push(new Promise((found, err) => {
const w = workers[i]
w.onerror = err
}
} finally {
postMessage(result)
+ addEventListener('message', handleMessage)
}
}