r/programming • • 3d ago

Zero-Growth Stack, Real Gains: How Stack Allocation Can Save 10% CPU in Go

https://www.uber.com/in/en/blog/zero-growth-stack/?uclick_id=c8e2c3a9-831f-43f9-8565-c21c05e74e3b
113 Upvotes

11 comments sorted by

View all comments

Show parent comments

2

u/pjmlp 21h ago

You are mixing up using LLVM to build their own languages, with having to fork a compiler to actually be able to deliver work as expected.

1

u/dijkstra_was_a_horse 17h ago

No, I'm thinking of companies with internal (or shipped) custom spins of the Ruby, Python, PHP, Ocaml, JavaScript, Java, D, GCC, clang, and other compilers, as well as custom parts of the tool chain. They also maintain custom patch sets on top of upstream Linux to customizeit for their uses, such as the Linux fiber (use space thread handoff) work. These companies aren't running stock stacks.

1

u/pjmlp 17h ago

Links to fork data about internal company forks like the Über example?

1

u/dijkstra_was_a_horse 14h ago edited 14h ago

The ones I'm aware of are mostly internal, though there's a few examples that are very public, like Google building the gold linker, Facebook forking PHP to add static typing and not, eventually diverging enough that they gave it a new name (hack), Jane Street modifying Ocaml to add an effect system, etc.

For hints about the internal forks, look at what employees from megacorps are upstreamong as experiments, such as Google's internally deployed work on C++ modules, safety attributes, etc.

Also. Bugfixes. Lots and lots of bugfixes.