Comments (10)
@devongovett "initial" bundling is for production builds, but we are talking about productivity (development) here, where milliseconds matter. 2 seconds HMR is unacceptable for FuseBox
from parcel.
Let's focus on making Parcel solid before we start on this stuff. Saying Parcel is much faster than Webpack/Browserify is interesting, saying it's in the same ballpark as fuse-box is not. At that point you start comparing on other features.
I'm gonna close this as something to come back to later, let's see how things go.
from parcel.
hi :-)
Where is the benchmark repo for browserify/webpack/parcel tests, only saw results on main page?
- browserify | 22.98s
- webpack | 20.71s
- parcel | 9.98s
- parcel - with cache 2.64
This way browserify/webpack can tell if its incorrect usage of they tools causing the slow results.
And maybe someone else could add fusebox/other bundlers to the test repo if they have time.
from parcel.
Well, "Hello World" app can't be really counted as a proof that a bundler is fast :) Every single one probably will get that ~30ms with empty/Hello World app.
from parcel.
Yep, I would like to see the actual benchmark. FuseBox is able to re-bundle a 4.5mb bundle in ~150ms with cache. With an average project that's a 50ms build time. It would be fair to see the actual results.
from parcel.
important to note the difference between re-bundling vs initial bundling. rebundling is relatively easy to get fast since usually just a single file changes at a time. initial bundling is what parcel focuses on. it is done by using multicore processing, which is something I haven't seen from other bundlers.
but yes, fuse-box would be a good comparison as well.
from parcel.
Yes. My current webpack rebuilding a single file change takes 4.5s and in FuseBox takes 0.5s so that matters a lot for developer productivity.
from parcel.
For whoever else is interested in HMR for typescript + HTML: I tried parcel and getting ~30ms HMR when re-bundling typescript on "hello world" project in VS.
Initially I was confused with @jamiebuilds's decision, but I agree now it's better to make the Parcel better since it seems to perform quickly for HMR.
Haven't tested with bigger project since this is my first Parcel. :)
index.ts:
console.log("hello world");
index.html:
<html>
<body>
<h1>hello worlsd</h1>
<script src="./index.ts"></script>
</body>
</html>
then
parcel index.html
from parcel.
For anyone searching for benchamarks I found this https://github.com/TheLarkInn/bundler-performance-benchmark.
from parcel.
@carloslfu These benchmark are outdated and give an incorrect vision of which one is faster or better as the apps are basically hello world examples.
You could also check out this repo as it compares webpack and parcel on react-hn (a branch we used for some performance tests in the past as it seems to be a fairly big project) https://github.com/DeMoorJasper/react-hn
from parcel.
Related Issues (20)
- Parcel fetching configs from where it's installed instead of where the process is running
- watch causes web extension background script to reload when tab with active content script is closed
- Importing D3 is causing TheLayout to produce invalid unicode escape sequence on D3.random HOT 4
- Parcel dev server randomly crashes when trying to unlink a file in the dist directory. HOT 1
- This experimental syntax requires enabling the parser plugin: 'optionalChaining' HOT 2
- Object spread operator causes build error HOT 1
- No import() polyfill available for context 'node'
- Parcel not minifying by default even when it says it does HOT 2
- Images are not created in the dist folder HOT 7
- Non-ASCII characters in identifiers result in invalid escape sequences
- parcel/svgo optimiser not working consistently for all packages
- `@parcel/packager-js: Got unexpected null` with CSS module composes
- Support for Typescript Proxies
- "@parcel/packager-css: Unsupported layer combination in @import"
- @parcel/rust package should only install binaries for the host platform HOT 2
- "process is not defined", when using Typescript (MRE included) HOT 2
- Panic in SWC on `1 / {2}`
- Use v4 of actions/upload-artifact or actions/download-artifact
- Parcel and Redux Toolkit Query: import of api created with createApi crash the app HOT 1
- To update svgo to version 3.0 in @parcel/optimizer-htmlnano.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from parcel.