We made a whole talk about YARN and a rewrite, but I'm guessing that you have questions. What are the performances? Did it deliver on the perf side? The answer is yes. YARN is faster than everything else, including YARN 4.X, including PMPM, including, of course, NPM. YARN is much faster now. We are still not done. There are still low-hanging fruits that we haven't touched yet because we are still focused on making all our tests fast, then making the Windows implementation, all kinds of things. I'm sure that we are going to bring the install time even lower.
Something else to keep in mind is that this isn't the time I showed, or the average, across many scenarios, but some scenarios outperform. Like, for instance, here, where YARN is only taking less than a second in order to do some small installs, and those scenarios are important because installing a single package is something that a lot of commands are doing. When you're adding, when you're making an auto-import in VS Code, you're making just a very small install, so making it fast and not have to spend one second and a half doing work is going to make your life much better in the IDE as you're writing code.
Was this project the right choice for YARN? Was this rewrite the right thing to do? The thing is, we built the package manager we needed for the next decade. I don't imagine us doing another rewrite for a very, very, very long time. The thing is, motivation and resilience were key to make this work, and if you're not ready to do this gruesome work, then perhaps rewriting your project in Rust is not exactly the thing I would recommend you to do. The thing is, you may remember at the beginning of this talk I told you about how YARN was envisioned to support JavaScript, but not just JavaScript, also Python, Rust, and all the things.
The thing is, we are still working on that. It's not entirely clear. It will probably not be at release date, but YARN is moving towards this direction, and that's incredibly exciting for me because I always wanted development to be universal. Your tooling should be universal if you want to really be able to dig into other ecosystems. The thing is, one last thing, I'm writing a bunch of devlogs which are going to be shared on both BlueSky and Twitter, and our Discord channel, of course. So, feel free to join our communities there, and I would love to have your feedback on what you thought about this talk, but also this rewrite, whether you're interested in Rust yourself, whether you have questions, feel free to shoot them, and I would be happy to answer all that. Have a good day.
Comments