esbuild
https://github.com/evanw/esbuild/

複数モジュールの依存関係を解決し、1つにまとめるバンドラーは、現代のフロントエンド開発においてなくてはならないツールの1つ。

The State of JavaScript
上位5つに人気が集中し、なかでもWebpackのシェアは実に約60%に達しています。
今回ご紹介する「esbuild」は、Go言語で書かれた高速なバンドラーで、これらメジャーなツールとの性能比較(ベンチマークテスト)をやってみました。


計測方法は、three.jsライブラリを10回複製し、キャッシュなしで単一のバンドルをゼロから構築しています。なんと、Webpackに比べて85倍(ITnews計測では約70倍)もビルド時間が圧縮されるなど、クレイジーな速度を誇っています。
・Go言語で書かれている
・パース、プリンティング、ソースマップの処理が完全に並列化されている
・すべての処理が、非常に少ないパスで実行され、コストのかかるデータ変換が不要
・コードは速度を重視し、不必要なアロケーションを回避している
$ git clone https://github.com/evanw/esbuild.git
$ cd esbuild
$ make bench-three
esbuildのブランチにある計測スクリプトを実行します。
Built in 49s
real 49.95
user 54.59
sys 3.99
Built in 2m 56s 602ms
real 184.63
user 229.76
sys 15.46
Built in 142.49s
real 154.52
user 305.49
sys 29.69
Built in 56.95ms
real 58.75
user 67.11
sys 4.45
Built in 770ms
real 1.28
user 2.49
sys 0.70
ビルド時間を見れば、結果は一目瞭然です。
すでにバンドラーのまわりにはエコシステムが確立され、単純な速度比較だけでは技術が選ばれる理由にはならないでしょう。それでも、かなりショッキングな性能差であるのは事実であり、それとともに、Go言語の可能性を感じさせてくれる結果ではないでしょうか。
![[アップデート]VPCエンドポイント作成時にタグ付けできるようになりました | Developers.IO](https://cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2019/05/amazon-vpc.png)
DevelopersIO / 2時間前

CNET Japan / 2時間前

TechCrunch Japan / 2時間前

CNET Japan / 2時間前

CNET Japan / 3時間前

DevelopersIO / 3時間前

ITmedia / 3時間前

ITmedia / 4時間前

ITmedia / 4時間前

TechCrunch Japan / 4時間前

TechCrunch Japan / 5時間前

CNET Japan / 5時間前

ITmedia / 5時間前

TechCrunch Japan / 5時間前

ITmedia / 6時間前

ITmedia / 7時間前

TechCrunch Japan / 15時間前

DevelopersIO / 16時間前

ITmedia / 16時間前

ITmedia / 16時間前