Coder Social home page Coder Social logo

thelarkinn / bundler-performance-benchmark Goto Github PK

View Code? Open in Web Editor NEW
61.0 3.0 10.0 125 KB

This is a super tiny example of a transparent comparison between parcel and webpack and anyone else who wants to be involved.

JavaScript 100.00%
bundling javascript modules esm es6 web performance bundler parcel parceljs

bundler-performance-benchmark's Introduction

bundler-performance-benchmark

Why

Showing numbers means nothing if you can't back it up. This is a joint effort between all bundlers involved to create a fair and unbiased set of benchmarks for build and size performance.

How to Run

  • Clone repo
  • run yarn
  • run yarn build:webpack && yarn build:parcel
  • Run again for cache times

Single Entry, Production, Medium Graph, JS Only

bundler version build time build time w/ cache bundle size config LOC
webpack webpack/webpack#next 340ms 184ms 5.72kb 15
parcel-bundler 1.2.1 1.78s 473ms 21.094kb 0
bundler version build time build time w/ cache bundle size config LOC
webpack webpack/webpack#next 1172ms 700ms 9.69k 20
parcel-bundler 1.2.1 1270ms 266ms 11.560kb 5

Help Wanted

Need help organizing and setting up multiple real world scenarios for all bundlers to run.

Feel free to checkout existing example or optimize the workflow via PR.

bundler-performance-benchmark's People

Contributors

jameshulse avatar richicoder1 avatar thelarkinn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

bundler-performance-benchmark's Issues

webpack version differences?

In the package.json I see webpack next; what version does that specifically point to? I think for a benchmark, especially in the rapidly evolving world of JS tools, to be specific so that a better comparison can be had.

For example, the computer language shoot out does this for each benchmark suite: https://benchmarksgame.alioth.debian.org/u64q/nbody.html

screenshot-2018-3-5 n-body 64-bit ubuntu quad core computer language benchmarks game

They show Rust with 3 different programs; I think it makes sense to show webpack at 2 different versions, next and whatever is the currently used version. Same with parcel, maybe pick latest + current production standard version?

Let’s add FuseBox

Hey Sean, nice benchmark, I also feel that’s its not fair to show some numbers out of thin air, claiming to be “blazing fast” which is fuse motto btw xD

You think I can dig in and add fuse benchmark there?

UPD:
I think it's fair to let parcel and fuse-box to use cache, as well as not uglifying the output. Besides, production builds are made differently as opposed to development flow. That's what i got

parcel: 67.12ms | 50.58 KiB
fuse-box: 11.04ms | 44.10 KiB
webpack: 81.93ms | 5.90 KiB

UPD2:
Cache off, for fuse-box and parcel

fuse-box: 42.44ms | 36.74 KiB
parcel: 161.83ms | 38.97 KiB
webpack: 61.63ms | 9.70 KiB

Add webpack3 to benchmark

Should find a way to be able to run webpack 3 also. Maybe there is a way to leverage yarn aliases.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.