Nicholas Yang - Porting Turborepo From Go To Rust

Sdílet
Vložit
  • čas přidán 4. 04. 2024
  • Everybody talks about rewriting in Rust, but how do you actually do it? At Vercel, we decided to move Turborepo, our high performance build system for JavaScript and TypeScript, from Go to Rust. We did so by combining careful strategizing, lots of testing, and a whole lot of debugging. This talk goes over why we decided to move Turborepo to Rust, how we validated that this port was feasible, how we released our hybrid Rust-Go codebase, and much more.
  • Věda a technologie

Komentáře • 8

  • @sam02h
    @sam02h Před měsícem +5

    took me like 15 minutes to find the error formatting library mentioned at 26:10.
    I went through all the variations of nyet, myet , meyet, etc...
    I'ts called miette, haven't seen this before and looks very cool.

  • @robert36902
    @robert36902 Před měsícem +2

    Really nice to share your success story so people facing similar porting decisions have a real world example to learn from!

    • @chrisdaman4179
      @chrisdaman4179 Před měsícem

      Taking 18 months to get up to par with no new features or improvements while making code harder to change and refactor is a horrible failure. Rust destroys projects.

    • @jacekkurlit8403
      @jacekkurlit8403 Před měsícem

      @@chrisdaman4179 23:43 they said they still shipped new features? And by what measure are you assuming their code is harder to change and refactor? Let me guess you are go lang developer don't you?

    • @bwinton
      @bwinton Před měsícem

      Weird, I heard very different things from this video… For instance, 7.5 minutes in he talks about starting with a new feature, which kind of contradicts the "no new features" claim, and the closing part around 22 minutes mentioned that they shipped in 15 months (not 18) while continuing to add features. I also don't remember anything about making the code harder to change or refactor… Can you point me at the parts of the video where he mentioned that?

  • @jocketf3083
    @jocketf3083 Před měsícem +1

    Great talk, and great work!

  • @Kane0123
    @Kane0123 Před měsícem +1

    This is a genuine question - how much did the rewrite affect your ability to improve the overall product during the migration? And how much did it differ from what you expected?

    • @xunjin8897
      @xunjin8897 Před měsícem +1

      What you mean by that @LemonKush?