bsdiff| google-diff-match-patch | metro-bundle 文件差异分析工具性能比对

复制代码
## 项目目的

源于在做 React Native 包拆分的需求时,比较 bsdiff 和 google-diff-match-patch 在生成差量文件上的性能差异。

- bsdiff (http://www.daemonology.net/bsdiff/)
- google-diff-match-patch (https://github.com/bystep15/google-diff-match-patch)
- metro-bundle(https://facebook.github.io/metro/)

## 实验数据

- Hello World 工程中的 jsbundle 对比

| 工具名称                    | bsdiff        | google-diff-match-patch | metro-bundle  |
| --------------------------- | ------------- | ----------------------- | ------------- |
| Common 包                   | 764,797 bytes | 764,797 bytes           | 764,797 bytes |
| HelloWorld 完整包           | 767,338 bytes | 767,338 bytes           | 767,338 bytes |
| HelloWorld 业务补丁 (patch) | 1,324 bytes   | 42,891 bytes            | 2,783 bytes   |
| 拆分时间 (diff time)        | 1,042 ms      | 2,410 ms                | -             |
| 合并时间 (patch time)       | 32 ms         | 258 ms                  | -             |
相关推荐
曹轲恒6 小时前
Java中断
java·开发语言
xxxmine6 小时前
Java并发wait(timeout)
java
冰冰菜的扣jio6 小时前
Redis缓存问题——一致性问题、事务、持久化
java·spring·mybatis
施棠海6 小时前
监听与回调的三个demo
java·开发语言
毕设源码-钟学长7 小时前
【开题答辩全过程】以 家政服务平台为例,包含答辩的问题和答案
java
sheji34169 小时前
【开题答辩全过程】以 家庭教育资源网为例,包含答辩的问题和答案
java
百***78759 小时前
Grok-4.1与GPT-5.2深度对比:技术差异、适用场景及Python集成指南
java·python·gpt
Mr -老鬼10 小时前
Java VS Rust
java·开发语言·rust
北凉军10 小时前
java连接达梦数据库,用户名是其他库的名称无法指定库,所有mapper查询的都是以用户名相同的库内的表
java·开发语言·数据库