esBuild为什么快
Go语言编写: Go语言在多线程和运行速度上有很大的优势。
- Go 是为并行性而设计的,而 JavaScript 是单线程的
- Go 在线程之间共享内存,而 JavaScript 必须在线程之间序列化数据
- Go 可直接编译成机器码,不依赖其他库,必然比 JIT 快
并行处理: 充分利用多核CPU进行多线程进行构建。
快速算法和优化: 使用一些高效的算法和数据结构来提高构建速度,比如 采用基于hash的增量构建,只构建变更的部分。
无依赖:没有外部依赖其他工具或者库,减少了加载或解析额外的模块库。
优化输出:生成高度优化的输出,尽可能的减少输出文件的大小。