Oliver Medhurst
@goose.icu
📤 2525
📥 565
📝 264
compiling javascript:
https://porffor.dev
pinned post!
enjoy 2 new blog posts! - Porffor now has closures: surprisingly annoying for a compiler.
goose.icu/porffor-clos...
- Profile-guided dead code elimination: a novel approach for DCE in dynamic languages.
goose.icu/profile-guid...
about 1 month ago
2
48
5
reposted by
Oliver Medhurst
npmx
1 day ago
We'll be in London next week! Come hang out with us 🤍
loading . . .
npmx london #2 | Guild
Jun 19th 6:00PM: Come join us at our first proper npmx meetup in London! A huge thanks to AG Grid who are hosting us and providing food Schedule: 18:00 - 19:00 -> Socialising & Food 19:00 - 19:15 -...
https://guild.host/events/npmx-london-2-vllwbz
2
28
11
doing huge architecture changes and scope reduction is both so depressing and so exciting
1 day ago
1
16
0
want to change my versioning scheme but screwed myself as npm can't rewind versions. my options are: 1. bypassing this restriction somehow 2. going to 0.1xx.0 3. going to 1.0.0-alpha.x any opinions/ideas?
2 days ago
4
2
0
update: writing a borrow checker 🥴
2 days ago
0
39
0
any js (library/runtime) folks want to help/give feedback on an api design? :)
3 days ago
0
1
0
new gc is both so exciting and crash out worthy for debugging gc bugs 😤
3 days ago
1
5
0
Map and Set are now up to over 300x faster :)
3 days ago
2
28
0
do you want to see exciting demos even if impractical/will likely never come to fruition? yay or nay
3 days ago
5
20
0
(very!) early preview for a new experimental threading Porffor api. it enables intentionally low level concurrency to (try to) enable the most efficient communication feasible. here are 1 million threads alive simultaneously using only ~16gb. 16kb/thread, <1us start avg.
4 days ago
0
43
2
cleanup grind continues
add a skeleton here at some point
4 days ago
0
8
0
optimized selfhosted porffor binary is now <20mb and only takes ~1 minute to compile (>90% clang). (% change is vs debug binary) still buggy though. also still too big ;)
4 days ago
1
21
0
self compilation is now ~15% faster after some optimizations for 2c itself, and emits a smaller (unoptimized debug!) binary
add a skeleton here at some point
4 days ago
0
19
0
after more 2c optimizations
add a skeleton here at some point
5 days ago
0
9
1
cleaning up code directly correlates to smaller (unoptimized!) selfhosted binary size 😇 (the ~release binary size is much much smaller)
5 days ago
1
14
2
elysia uses >2x less memory with ~15% lower latency and higher throughput vs ~a week ago :)
add a skeleton here at some point
6 days ago
1
39
0
in the last week I have written: a (new) gc, a wasm engine, a wasm compressor (via huffman coding) 😅 (maybe gonna drop the wasm engine though)
7 days ago
0
21
0
why is homebrew 3 node minors behind :(
7 days ago
1
5
0
fun data from optimizing how builtin apis are embedded (they are precompiled). numbers are still unoptimized/not final! oh and btw porffor can selfhost now ;)
7 days ago
1
24
0
hono uses ~10% less memory with ~5% lower latency vs a few days ago, thanks to new gc and other allocation optimizations
9 days ago
0
55
2
Porffor's optimization phase is now 5-10x faster for large files
9 days ago
2
29
0
forgot I added some debug logs um
9 days ago
1
14
0
if you want a more traditional/detailed profiler I got you too ;)
add a skeleton here at some point
9 days ago
0
18
0
new experiment
9 days ago
2
32
5
UK people: please write to your MP asking them to sign EDM 240. It disapproves the EHRC's latest Code of Practice which forces trans segregation. This is likely the only thing left that could stop it.
edm.parliament.uk/early-day-mo...
You can use
www.writetothem.com
, it only takes a few minutes ♥️🏳️⚧️
loading . . .
Draft Code of Practice on Services, public functions and associations - Early Day Motions - UK Parliament
That the draft Code of Practice for Services, public functions and associations, a copy of which was laid before this House on 21 May, be disapproved.
https://edm.parliament.uk/early-day-motion/65938/draft-code-of-practice-on-services-public-functions-and-associations
11 days ago
0
10
3
#grafanaposting
15 days ago
1
10
0
hmm
16 days ago
4
24
1
i guess everyone is making code review tooling now. idk if I'll release this yet
30 days ago
3
19
0
rewrote 2c and now it emits ~2x less lines of c :)
about 1 month ago
1
7
0
learning to get less attached to old code. you can just delete things
about 1 month ago
2
79
0
enjoy 2 new blog posts! - Porffor now has closures: surprisingly annoying for a compiler.
goose.icu/porffor-clos...
- Profile-guided dead code elimination: a novel approach for DCE in dynamic languages.
goose.icu/profile-guid...
about 1 month ago
2
48
5
new tech (ignore the last one)
about 1 month ago
2
5
0
oops
about 1 month ago
1
11
0
nevermind,
porffor.dev
containers use ~600kb of memory now 🤯
add a skeleton here at some point
about 1 month ago
6
102
5
deployed latest porffor to
porffor.dev
(previously running a ~week old version). the improvements are obvious 😍
about 1 month ago
1
28
0
now 5% less memory usage, faster and <180kb binary size :)
add a skeleton here at some point
about 1 month ago
2
37
0
hello world http server is now under 200kb 🥳
about 1 month ago
3
41
1
unironically I want this to be lower but the majority of my memory usage is just libc(/++) being loaded 🥴
add a skeleton here at some point
about 1 month ago
1
7
0
container running
porffor.dev
is using 1.1mb of memory btw
add a skeleton here at some point
about 1 month ago
3
47
4
one week of uptime 🥹
about 1 month ago
2
57
3
some more fun graphs from load testing today
about 1 month ago
1
19
0
fun fact: you can see top secret porffor details of my sites with /metrics (built into my framework for grafana).
goose.icu/metrics
porffor.dev/metrics
about 1 month ago
0
6
0
would you prefer 1 big general blog post or multiple smaller ones focused on one thing?
about 1 month ago
7
4
0
still optimizing and fixing, eg below ;)
add a skeleton here at some point
about 2 months ago
2
28
1
reposted by
Oliver Medhurst
patak
about 2 months ago
I don't think tech at large understands how hard it is to be an open source maintainer right now. So many great folks are on the brink of burnout. Funding is drying out. We live in a security minefield. Companies think humans are disposable. If you're a maintainer, we care. You deserve the world.
16
548
104
there are more demos which are an even larger deal btw
#vagueposting
add a skeleton here at some point
about 2 months ago
2
21
1
testing http stuff after fixing closure bugs, it crashed so I thought I had a regression but just forgot I changed my hello world to this yesterday
about 2 months ago
1
15
0
half my remaining regressions are actually tests which were false positive due to now fixed bugs 😳
add a skeleton here at some point
about 2 months ago
0
2
0
fixing regression hell from a ~5k diff 🥴
about 2 months ago
1
14
1
real world load testing! with 3K req/s (2.5M requests total), I peaked at: ~22% usage of 1 core, ~2.6MB memory usage, 9ms p99 response time. went better than expected 🥳
about 2 months ago
0
24
2
today in unnecessary infrastructure: made my own status page from scratch with automated incidents, paging. it's also hosted independently so in critical incidents it would remain up
status.porch.porffor.dev
about 2 months ago
1
7
0
Load more
feeds!
log in