Skip to content

Instantly share code, notes, and snippets.

View andykais's full-sized avatar

Andrew Kaiser andykais

View GitHub Profile
@andykais
andykais / timing-utils.js
Created May 16, 2019 16:59
A couple of handy timing functions I use often
// async
const timeout = n => new Promise(resolve => setTimeout(resolve, n))
// sync
const sleep = n => Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, n)
// async
const scheduleAsync = startAtEpoch => async fn => {
const now = Date.now()
const millisecondsTillStartAt = startAtEpoch - now
await timeout(millisecondsTillStartAt)
@andykais
andykais / optional_chaining.py
Last active July 11, 2019 15:56
details two optional chaining methods
empty = None
deep = dict(a=dict(b='c'))
def chain_optional(func, default_value=None):
try:
return func()
except AttributeError:
return default_value
except TypeError:
{
"0 debug pnpm:scope": {
"selected": 1,
"workspacePrefix": null
},
"1 debug pnpm": {
"isCaseSensitive": false,
"store": "/Users/andrew/.pnpm-store/2"
},
"2 debug pnpm:package-manifest": {
@andykais
andykais / benchmark_results.log
Created February 25, 2025 04:17
benchmarking sqlite implementations in deno
Benchmarking sqlite drivers against PRAGMA journal_mode=DELETE
CPU | Apple M1 Max
Runtime | Deno 2.2.1 (aarch64-apple-darwin)
file:///Users/andrew.kaiser/Code/scratchwork/deno-sqlite-benchmark/bench2.ts
benchmark time/iter (avg) iter/s (min … max) p75 p99 p995
---------------- ----------------------------- --------------------- --------------------------
group insert random data