-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Publish timing comparison with Webpack #156
Comments
Rather than publish just the timings, publish why the disparity between them. This is where I'm most interested 😁 |
@natew I'd be curious to see the results using latest versions of each |
I haven't dug through the source of Webpack to know too much but I've posted my initial thoughts here https://steelbrain.me/2018/07/09/how-hmr-in-pundle-works.html#compiling-and-applying-changes |
@steelbrain thanks for putting that up. as a former maintainer of webpack-dev-server and current maintainer (and author) of webpack-server, I can say with confidence that there are a few inaccuracies and benefits left out of that write-up. If (and only if 😃 ) you're interested in those, I'd be happy to share them. |
@shellscape Please do share, lmk if i can explain anything on my part. Also i should've mentioned in the post that i don't have a lot of experience in webpack and the content is based on very quick digging so apologies for inaccuracies |
hey absolutely no worries, and don't feel compelled to update anything. I wanted to offer to share purely for information purposes for you and pundle.
Without getting too nutty on the details:
So, true for the old and busted original dev server, false for the new dev server 😄 The "extra moving parts" is more or less accurate, though most of that is automated/defaulted out of the way of the users, unless they need to get nuts and set things up differently than the default.
That's basically the attitude I took with an ill-fated "next" version of
This is somewhat true for Which brings me to HMR-registration. Webpack requires that users use Going to back to WebSockets for a quick minute - they do offer one huge (in my opinion anyhow haha) advantage over middleware: anyone can listen in on what's taking place between the server and client, outside of the request pipeline. That results in a large amount of freedom for users and folks are able to build things like https://github.com/G-Rath/webpack-serve-overlay and https://www.npmjs.com/package/webpack-serve-waitpage, which need no direct support by the server app. I'm not familiar with -- I'll be following |
The progress wait one looks neat! Pundle also tries to recreate the HMR client API, It supports In case they are not, they have to deal with one or two unnecessarily generated files, In case they are, it reduces the latency and back and forth communication and gets right to the point. For the fetch streaming, this is the relevant client part and relevant server part. For the http server and http client, it feels like just another HTTP request but you can stream one way data indefinitely, and it's fast just like WebSockets as there's no polling involved Webpack is an awesome piece of software, would be great to have it evolve further and use the latest tech available |
Just ran through and got latest webpack running our stack.
Stack size is ~8mb uncompressed when built out by either.
Using our hot loader that just prevents going up the tree much I ran webpack and then pundle through the same tests, timing each and running for each stack 5 times.
Results were webpack at just over 8s average hmr, and pundle at just over 1.5s.
Here's pundle:
https://v.usetapes.com/UAeLcZFG7g
It's so impressive I think a simple side-by-side video would go viral if you wanted to get some attention here.
Another idea would be just putting timing comparison numbers on the readme.
The text was updated successfully, but these errors were encountered: