| | <!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> |
| | <p> |
| | Links for various testing options: <ul id='testlinks'></ul> |
| | </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> |
| |
|