4 ms·
I moved from Parcel (v1) to ViteJS because it felt a bit faster. Is there a performance or other type comparison between Parcel and some of the newer bundlers?
by cetra3 5y ago
I moved from Parcel (v1) to ViteJS because it felt a bit faster. Is there a performance or other type comparison between Parcel and some of the newer bundlers? (I.e, vite, snowpack, etc..)
- devit 5y agohttps://esbuild.github.io/faq/#benchmark-details https://esbuild.github.io/faq/#benchmark-details has Parcel 2 benchmarks. The summary is that you should use esbuild (or swc/spack when ready) for new projects and probably switch existing ones as well if feasible. It's possible that the Parcel 2 version they used is not the released one, so maybe it improved.
- scottlamb 5y ago> It's possible that the Parcel 2 version they used is not the released one, so maybe it improved. I'd guess so because of timing and because the Parcel 2 beta 3 announcement [1] says "10x faster JavaScript compiler written in Rust [...] on top of the SWC compiler". Likely the esbuild folks benchmarked against beta 2 or earlier. [1] https://parceljs.org/blog/beta3/ https://parceljs.org/blog/beta3/
- tuananh 5y agothe benchmark looks brutal to other bundler
- devongovett 5y agoNote that this benchmark is dominated by Terser for minification. All tools aside from ESBuild use it.
- kabber 5y agoWhy not minify with esbuild instead by default?
- devongovett 5y agoesbuild tends to produce larger bundles due to https://github.com/evanw/esbuild/issues/639 https://github.com/evanw/esbuild/issues/639. Looks like there was recent activity though, so we need to re-test. Anyway, there's a plugin available for now: https://www.npmjs.com/package/@parcel/optimizer-esbuild https://www.npmjs.com/package/@parcel/optimizer-esbuild. We're also excited about the SWC minifier project, which is basically a port of Terser to Rust.
- kabber 5y agoThis link https://github.com/privatenumber/minification-benchmarks https://github.com/privatenumber/minification-benchmarks shows swc is still a work in progress.
- silasb 5y agoProbably should add https://bun.sh/ https://bun.sh/ to the list as well, it's early but has some potential.
- hsn915 5y agoIs there any information other than this home page? like an announcement somewhere, a demo video, or anything similar?
- 1_player 5y agoDoesn't seem to be open source, only has a macOS binary, you need to request "early access" by joining their Discord... what's their target audience here? Certainly not web developers.
- isthisreality 5y agoto be fair, that's without Parcel 2's cache, which surely improves build times considerably
- hsn915 5y agoI really don't understand vite. They use esbuild under the hood for some of the tasks, but they still ultimately use rollup. I tried to use it for a project I'm working on and it was more than 50 times slower than esbuild. (esbuild took half a second, vite took 30 seconds).
- andrew_ 5y agoAs other comments have mentioned, they use Roll-up under the hood.
- rk06 5y agoVite's main focus is on a fast dev server and provide ultra fast hmr. However, it needs source (user code and npm packages) to be in ESM modules, so it uses esbuild for pre bundling npm packages. And vite uses roll-up to create a production build with some parts done by esbuild
- dcre 5y agoIt uses esbuild for unbundled dev builds and Rollup for bundled production builds. https://vitejs.dev/guide/why.html#why-bundle-for-production https://vitejs.dev/guide/why.html#why-bundle-for-production
- isthisreality 5y agoVite's goal is a mixture of speed and flexibility. Rollup's plugin system provides the flexibility in exchange for slower build times, but that doesn't affect development speed, because Vite doesn't bundle anything in development (apart from CommonJS dependencies, which are pre-bundled with esbuild).