Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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..)


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.


> 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/


Probably should add https://bun.sh/ to the list as well, it's early but has some potential.


Doesn'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.


Is there any information other than this home page? like an announcement somewhere, a demo video, or anything similar?


to be fair, that's without Parcel 2's cache, which surely improves build times considerably


the benchmark looks brutal to other bundler


Note that this benchmark is dominated by Terser for minification. All tools aside from ESBuild use it.


Why not minify with esbuild instead by default?


esbuild tends to produce larger bundles due to 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. We're also excited about the SWC minifier project, which is basically a port of Terser to Rust.


This link https://github.com/privatenumber/minification-benchmarks shows swc is still a work in progress.


I 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).


It uses esbuild for unbundled dev builds and Rollup for bundled production builds.

https://vitejs.dev/guide/why.html#why-bundle-for-production


Vite'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).


Vite'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


As other comments have mentioned, they use Roll-up under the hood.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: