50 lines
1.8 KiB
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>
|