sqlite3/ext/wasm/tests/opfs/concurrency/index.html

50 lines
1.8 KiB
HTML

<!doctype html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon">
<link rel="stylesheet" href="../../../common/testing.css"/>
<title>sqlite3 OPFS Worker concurrency tester</title>
<style>
body { display: revert; }
body > * {}
#test-output {
font-family: monospace;
}
</style>
</head>
<body>
<h1></h1>
<p>
OPFS concurrency tester using multiple independent Workers.
Disclaimer: concurrency in OPFS is currently a pain point!
</p>
<p>
URL flags: pass a number of workers using
the <code>workers=N</code> URL flag. Set the time between each
workload with <code>interval=N</code> (milliseconds). Set the
number of worker iterations with <code>iterations=N</code>.
Enable OPFS VFS verbosity with <code>verbose=1-3</code> (output
goes to the dev console). Disable/enable "unlock ASAP" mode
(higher concurrency, lower speed) with <code>unlock-asap=0-1</code>.
</p>
<p>Achtung: if it does not start to do anything within a couple of
seconds, check the dev console: Chrome sometimes fails to load
the wasm module due to "cannot allocate WasmMemory." Closing and
re-opening the tab usually resolves it, but sometimes restarting
the browser is required.
</p>
<div class='input-wrapper'>
<input type='checkbox' id='cb-log-reverse'>
<label for='cb-log-reverse'>Reverse log order?</label>
</div>
<div id='test-output'></div>
<script>(function(){
document.querySelector('h1').innerHTML =
document.querySelector('title').innerHTML;
})();</script>
<script src="test.js?sqlite3.dir=../../../jswasm"></script>
</body>
</html>