The argument is that the Turbopack run had favorable non-default settings while the Vite run did not. Remember the context of your quote:
> After reading the post and benchmark code, here are a few key takeaways: 1. The Vite implementation is still using the default, Babel-based React plugin.
I.e. the "still", refers to the config used in Vercel's original benchmark. Since they had tweaked the Turbopack React config, yes, this is noteworthy. Whether this was ignorance about Vite (i.e. making a straw-man argument) or malice, we don't know. Since Vercel did publish their config, assuming ignorance is enough for me. My own conclusion was that defaults are tradeoffs, and that tweaking them can improve some aspect (performance) while negatively affecting another (disk space):
>> The reason Vite currently defaults to Babel was a trade-off between install size and practicality. SWC's install size is quite heavy (58MB in node_modules whereas Vite itself is only 19MB), and many users still relied on Babel for other transforms, so a Babel pass was somewhat inevitable for them. However, that may change in the future.
> Since they had tweaked the Turbopack React config, yes, this is noteworthy.
Did they? My understanding is, that Turbopack uses SWC by default. So without at least a confirmed intent to change the default on Vite’s part, I feel like that choice is valid (though it should be explicitly mentioned).
The tweaking/optimization they did was about the RSC vs not, which Evan says drastically changes the outcome, the same way switching Vite to SWC would have. I don't think he suggests that Turbopack was tweaked regarding SWC. It looks like they cherry-picked a configuration pair that made Turbopack look better than what you would get if you either just followed defaults/beginner settings for both, or you optimized both.
Turbopack is alpha, it seems fair to benchmark against an alpha configuration of vite. It sounds like they're considering changing the default, but were uncertain it helped most users today.
> After reading the post and benchmark code, here are a few key takeaways: 1. The Vite implementation is still using the default, Babel-based React plugin.
I.e. the "still", refers to the config used in Vercel's original benchmark. Since they had tweaked the Turbopack React config, yes, this is noteworthy. Whether this was ignorance about Vite (i.e. making a straw-man argument) or malice, we don't know. Since Vercel did publish their config, assuming ignorance is enough for me. My own conclusion was that defaults are tradeoffs, and that tweaking them can improve some aspect (performance) while negatively affecting another (disk space):
>> The reason Vite currently defaults to Babel was a trade-off between install size and practicality. SWC's install size is quite heavy (58MB in node_modules whereas Vite itself is only 19MB), and many users still relied on Babel for other transforms, so a Babel pass was somewhat inevitable for them. However, that may change in the future.