
Oliver Medhurst
@CanadaHonk
Followers
3K
Following
32K
Media
275
Statuses
2K
compiling javascript ahead-of-time: https://t.co/wZZMjx9tEE | TC39 & WinterTC invited expert
Joined February 2020
Thrilled to announce that from next week I'll be working on my AOT JS engine Porffor full-time, thanks to the support of @defunkt!.
29
49
384
Excited to have Guillermo Rauch @rauchg, founder of Vercel, as Porffor's latest financial supporter! This will help accelerate my mission to make ahead-of-time compilation of JS a reality 🚀.
7
1
175
I rewrote Porffor's object implementation completely; it is now much faster and makes Wasm binaries 2-5x smaller than before when using objects!. Porffor's current worst benchmark gets 30% faster with >4x smaller Wasm; almost on par with QuickJS now with only ~1 month of work.
6
8
127
Wasm memory usage is now >10x smaller than before thanks to a complete rewrite of allocation: now featuring string interning and static bin-packing instead of 1 object per page.
After a series of upcoming Porffor optimizations, Test262 runs ~2x fast (with minor regressions to be fixed before push)
2
9
116
Porffor now implements Promise.try, allowing nicer sync-async barrier interaction. It was officially added to the ES spec in the last TC39 meeting! 🙇 @ljharb
2
5
67
Merged! Faster Node fs.writeFileSync() with UTF8 and strings as data. >2x faster when using file descriptors and larger data! 🎉🚀.
@nodejs You'll probably find this the most interesting 👀 (featuring fresh new benchmarks!).
4
3
55
Porffor mentioned 😳.
📜 An end-of-year review of the JS highlights of 2024 in the JS Weekly newsletter. Thanks to editor-in-chief @cooperx86 for the weekly goodness 👍.
2
1
54
This is unfortunately true and why WinterCG exists: to help solve these issues for all runtimes 🎉.
Sharing code between browser and server sounds nice, but doesn’t always work out well. fetch() in browsers worries about CORS & CSP, but server-side needs proxies & TLS configuration. URLPattern & web streams are too slow for server-side JS. FormData doesn’t stream.
1
2
47
if you ahead-of-time compile js to wasm or native you don't have to worry about cold/warm starts ;).
@matteocollina Yep, this is the same model as CF workers. Connection pooling could be solved in a number of ways. Either:.- use an external process like PgBouncer with a short-lived connection from the worker.- use a process pool model where you keep a few of the worker processes warm, they.
3
2
46
Porffor has a new progress log while natively compiling so you know it is doing things! Disappears once finished like @ziglang's new one ;)
1
1
39
Small peek of new profiler 👀.
The coolest part about SF is that their meetup scene is so strong. I just went to a WASM meetup co-organized by @dylibso. @CanadaHonk is doing some really cool stuff with porffor
1
4
40