moot✳A little more connected.
Join Moot

Jarred Sumner

@jarredsumner

Social handles

Browse matching posts and comments already imported to Moot, including those shared before signup.

Showing content for @jarredsumner X · All handles

i genuinely think good AOT JS/TS with full ecosystem compatibility would be the most exciting thing to happen to JavaScript since Node

however, LLMs are also really good at writing compilers.

so instead of you rewriting your app in another language, what if we just rewrite the compiler to make JS/TS perform competitively with Go and Rust

then rewriting your app might not be worth it, even if it’s easy

the knock on server-side JS has always been that you only use it because you already know it. rEaL enGiNeeRs use Go or RuSt

LLMs know every language so that doesn't matter anymore, but the substance behind that knock is still true - JS uses more memory and CPU

View conversation

this was my 3rd attempt at Bun AOT. the first two were before `bun check`, and performed worse than the JIT. it used bytecode instead of typescript types. binaries were sometimes 1 GB lol trying attempt 4 now. doesn’t work yet

Why are there like six parsing passes?

Why does the trimmer think Bun.Archive is in use when you have a property named “Archive” somewhere?

The results are exciting, but these questions sound like a bug farm.

The main mistake in the draft PR is the internals are not good enough.

Too many string lookups for things the AST already knows.

Why are only 38% of Claude Code’s types known?

Why are instruction counts for typed operations often higher than untyped?

View conversation

Bun AoT is starting to get good TypeScript 6 built with Bun AoT typechecks Effect slightly faster than TypeScript 7 when single-threaded. https://x.com/jarredsumner/status/2108847656424583307/photo/1

Haven’t spent much time yet on binary size. Mostly on cpu and memory usage.

Context

TS 6 vs TS 7 is a great repo for benchmarking this since it’s a very close Go implementation of the same code, so I can tell claude make the instruction counts roughly match Go’s

View conversation