9 ms·
Here's the bulk of the code used to generate the code they're building: https://github.com/vercel/turbo/blob/main/crates/turbopack-create-test-app/src/test_app_
by jamescostian 4y ago
Here's the bulk of the code used to generate the code they're building: https://github.com/vercel/turbo/blob/main/crates/turbopack-create-test-app/src/test_app_builder.rs https://github.com/vercel/turbo/blob/main/crates/turbopack-c...
They're building basically the same thing over and over again. This surprised me, given their intro post: https://vercel.com/blog/turbopack https://vercel.com/blog/turbopack
Relevant quote:
> Turbopack is built on Turbo: an open-source, incremental memoization framework for Rust. Turbo can cache the result of any function in the program. When the program is run again, functions won't re-run unless their inputs have changed. This granular architecture enables your program to skip large amounts of work, at the level of the function.
I'd be curious to see if a real-world app (or even one generated with more variety in components) showed comparable performance numbers
- tough 4y agoturborepo was the first -turbo- on the family to use this strategy to cache a lot of dependencies on building monorepos. I think they might be applying the same strategy everywhere by decoupling -turbo- from the implementations that use the strategy at each layer of the stack. Expect a -turbo- script doing this and the first real complete replacement for typescript compilation, probably in go, not rust, tho!
- HJain13 4y ago> Expect a -turbo- script doing this and the first real complete replacement for typescript compilation, probably in go, not rust, tho! There is stc which is for now just a PoC (from the developer of swc who is on Vercel's payroll) which is shifting from Go to Rust