One of the thorniest conversions was the session.ts file, which was over 30,000 lines of TypeScript that touched all aspects of the runtime.
This can’t be real. Single file with 30K lines? Which human being is working on it and how much RAM does it take for a code editor to load that with full symbol tree? I am genuinely curious. Is this common? I think most files I come across stretch to maybe 2-3k lines max.
30000 is not that big in very old projects with many contributors. There are always one or two files that no one wants to take the time and responsibility to clean up. And 30000 is not a big number for RAM. The fact that you find it choking is more and of an indication of how bad our tools have become than anything else.
For example, until recently the main file for donet runtime GC was more than 50000 lines (it has since been split).
I recently saw a ~60k lines / 3mb .cpp file in one vibe coded project (and yes I was a bit horrified) Surprised it works at all but it apparently does. Not really for a human though and even for an LLM it would be more beneficial for it to be split up.
This has to be 1) early LLM vibe coding or 2) “hand” vibe codingwhere the user asked the LLM to code sections and stitches them together manually, and the programmer is a novice. The second part I speak from experience; got to ~2k before realizing this is out of the script range and started to break it up. Regardless, it would be almost impossible to get an SOTA LLM agent to ever do this.
For example, until recently the main file for donet runtime GC was more than 50000 lines (it has since been split).
If you've ever used that tool you wouldn't ask this question, since it's obviously fully vibecoded.
- there are now ridiculous vibe coded localisation in VS2026
- task manager started to not report cpu usage correctly recently (the number becomes stalled)
- file explorer display the "loading" icon infinitely on some directories
- and many other things!
Greenlets were much faster.
Gil free python gets stuck on all sorts of python locks. It’s slow.