Alright, I didn't so much learn @gleam.run as I did play around with Porffor (JS to native code compiler by @honk.foo) 🧵
Oki it's finally time
Oliver Medhurst
@honk.foo
compiling javascript: https://porffor.dev + browser security
Alright, I didn't so much learn @gleam.run as I did play around with Porffor (JS to native code compiler by @honk.foo) 🧵
Oki it's finally time
Summer break is over: The @e18e.dev & friends show is coming back next week 🎉 And we got nobody else than the one and only @honk.foo talking about Porforr and how a future for natively compiled JavaScript could look like! Swing by at 7pm CEST / 1pm EDT on August 4th 👌 youtube.com/live/L8Edgas...
e18e & friends E004 - Oliver Medhurst
What if you could compile JavaScript to Native but ahead of time? W...
youtube.com
Porffor officially goes alpha on August 11th with an in-person in San Francisco! It brings self-hosting and a complete rewrite, plus more: honk.foo/porffor-alpha/
Porffor goes alpha August 11th
A self-hosting and rewritten Porffor launches in SF next month!
honk.foo
also a fun side project I've been hacking on and off for about half a year: autolrc.honk.foo totally didn't just make a landing site to test porffor rewrite in "prod". nope, nuh uh, no way
Porffor is now self-hosted, meaning it compiles itself with itself! This is made possible by Porffor's new rewrite, reducing its lines of code by >50% and making C output up to 5x more efficient! Here you can see the stats before and after the rewrite for Porffor itself:
I will be in SF ~mid August, DM if you want to hangout and/or talk about how Porffor could help your company in the future :)
took an interesting route for data structures for rewrite and looks like it is good. hybrid C struct and nanboxing because just nanboxing is far too slow :(
London friends! I will be around later this week if you want to hangout :) secret demos if I finish my rewrite in time?
doing huge architecture changes and scope reduction is both so depressing and so exciting
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?
any js (library/runtime) folks want to help/give feedback on an api design? :)
new gc is both so exciting and crash out worthy for debugging gc bugs 😤
do you want to see exciting demos even if impractical/will likely never come to fruition? yay or nay
(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.
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 ;)
self compilation is now ~15% faster after some optimizations for 2c itself, and emits a smaller (unoptimized debug!) binary
after more 2c optimizations