report runtime

main
Ashelyn Dawn 1 year ago
parent b1c82c0245
commit 5dadf34357

@ -95,7 +95,9 @@ function runLoaded(funcName, inputTextField, outputTextField) {
// run the wasm
outputTextField.value = ""
const before = performance.now()
const outputLocation = wasmInstance.exports[funcName]()
const after = performance.now()
// Read the output
const outputBuffer = wasmBuffer.slice(outputLocation)
@ -106,12 +108,15 @@ function runLoaded(funcName, inputTextField, outputTextField) {
const outputBytes = outputSmallArray.slice(4, 4 + outputLength)
const outputText = textDecoder.decode(outputBytes)
outputTextField.value = outputText
return after - before
}
daySelector.value = ""
inputTextArea.value = ""
outputTextArea1.value = ""
outputTextArea2.value = ""
output.innerText = "Ready"
getDayList().then(() => {
daySelector.addEventListener('change', ev => {
@ -121,6 +126,20 @@ getDayList().then(() => {
runButton.addEventListener('click', ev => {
runLoaded('part1', inputTextArea, outputTextArea1)
runLoaded('part2', inputTextArea, outputTextArea2)
let part1run = null, part2run = null
try {
part1run = runLoaded('part1', inputTextArea, outputTextArea1).toFixed(2)
} catch { }
try {
part2run = runLoaded('part2', inputTextArea, outputTextArea2).toFixed(2)
} catch { }
if (part1run && part2run) {
output.innerText = `success; part 1 runtime: ${part1run}ms, part 2 runtime: ${part2run}ms`
} else if (part1run) {
output.innerText = `partial success; part 1 runtime: ${part1run}ms, part 2: crashed`
} else {
output.innerText = `partial success; part 1: crashed, part 2 runtime: ${part2run}ms`
}
})

Loading…
Cancel
Save