$ bun test.js
bun_1.3.9 addon-rust time 11618 rate 4303448 rate/core 4260839 ns/iter 232.37 rss 87433216 usr 100.00 sys 1.00 tot 101.00
bun_1.3.9 addon-rust time 11579 rate 4318019 rate/core 4318019 ns/iter 231.58 rss 87961600 usr 100.00 sys 0.00 tot 100.00
bun_1.3.9 addon-rust time 11668 rate 4285064 rate/core 4285064 ns/iter 233.36 rss 88092672 usr 100.00 sys 0.00 tot 100.00
bun_1.3.9 addon-rust time 11549 rate 4329047 rate/core 4286185 ns/iter 230.99 rss 88092672 usr 100.00 sys 1.00 tot 101.00
bun_1.3.9 addon-rust time 11559 rate 4325584 rate/core 4325584 ns/iter 231.18 rss 88092672 usr 100.00 sys 0.00 tot 100.00
bun_1.3.9 addon-rust time 11513 rate 4342626 rate/core 4342626 ns/iter 230.27 rss 88092672 usr 100.00 sys 0.00 tot 100.00
bun_1.3.9 path type inode size modified perm ver dev uid gid links suid sgid stky
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
. dir 1 0 2026-02-28T21:20:27.000Z rwxrwxr-x 8.1 0.0 0 0 0 0 0 0
dev dir 2 0 2026-02-28T21:20:27.000Z rwxrwxr-x 8.1 0.0 0 0 0 0 0 0
dev/null chr 3 0 2026-02-28T21:20:27.000Z rw-rw-r-- 8.1 1.3 0 0 0 0 0 0
dev/zero chr 4 0 2026-02-28T21:20:27.000Z rw-rw-r-- 8.1 1.5- Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
- #100~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC x86_64 GNU/Linux
$ node async-bench.js
node_v24.13.1 sync time time 1537 rate 19514068 rate/core 19514068 ns/iter 51.24 rss 58302464 usr 100.00 sys 0.00 tot 100.00
node_v24.13.1 sync time time 1514 rate 19814339 rate/core 19814339 ns/iter 50.46 rss 58937344 usr 100.00 sys 0.00 tot 100.00
node_v24.13.1 sync time time 1473 rate 20361091 rate/core 20361091 ns/iter 49.11 rss 58937344 usr 100.00 sys 0.00 tot 100.00
node_v24.13.1 sync time time 1451 rate 20674993 rate/core 20883832 ns/iter 48.36 rss 58937344 usr 99.00 sys 0.00 tot 99.00
node_v24.13.1 sync time time 1479 rate 20270737 rate/core 20270737 ns/iter 49.33 rss 58937344 usr 100.00 sys 0.00 tot 100.00
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function getDatabase (name = 'ConversationsDatabase') { | |
| const req = window.indexedDB.open(name) | |
| return new Promise((resolve, reject) => { | |
| req.onsuccess = e => resolve(req.result) | |
| req.onerror = req.onabort = reject | |
| }) | |
| } | |
| function getAllKeys (db, collection = 'conversations') { | |
| const req = db.transaction([collection], 'readonly').objectStore(collection).getAllKeys() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| FROM scratch | |
| ADD sea /sea | |
| CMD ["/sea"] |
kevent with timeout = 0
rate 80986.22 nanos_op 12347
rate 81772.37 nanos_op 12229
rate 81650.72 nanos_op 12247
rate 81608.60 nanos_op 12253
rate 81304.12 nanos_op 12299
kevent64 with timeout = 0 and flags = 0
rate 81713.43 nanos_op 12237
rate 81648.45 nanos_op 12247setImmediatein node.js has a lot of overhead on macos compared to linux. attention was drawn to this in this tweet from jarred sumner.- in the referenced benchmark, node on macos was only able to achieve
80kticks per second of the event loop versus millions per second for Bun & Deno on macos - on linux, difference between node, Bun and Deno are much less significant
- the change implemented in Bun for MacOS uses the
KEVENT_FLAG_IMMEDIATEflag to create a fast return from the syscall when there is no pending io. - the flag in question is only available when using the
kevent64syscall on macos - libuv uses the
keventsyscall, which is common across bsd based platforms. - i built a version of node with [patches](https://github.com
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| """ | |
| The most atomic way to train and inference a GPT in pure, dependency-free Python. | |
| This file is the complete algorithm. | |
| Everything else is just efficiency. | |
| @karpathy | |
| """ | |
| import os # os.path.exists | |
| import math # math.log, math.exp |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import { api } from 'lib/sqlite/api.js' | |
| import { bindall, bind_custom } from 'lib/ffi.js' | |
| import { Bench } from 'lib/bench.js' | |
| const { assert, core, ptr, utf8_length } = lo | |
| const { dlopen, RTLD_NOW, RTLD_LOCAL } = core | |
| const sqlite_handle = assert(dlopen(lo.getenv('SQLITE_SO') || 'libsqlite3.so', RTLD_NOW | RTLD_LOCAL)) | |
| const sqlite = bindall(api, sqlite_handle) | |
| const u32 = ptr(new Uint32Array(2)) |
NewerOlder