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                  | -             |
相关推荐
Mark_ZP31 分钟前
【锁1】Synchronized vs ReentrantLock区别
java
立心者01 小时前
SpringBoot中使用TOTP实现MFA(多因素认证)
java·spring boot·后端
枕星而眠1 小时前
C++ STL Map容器完全指南:从有序红黑树到无序哈希表
java·开发语言
bbq粉刷匠2 小时前
HashMap 底层原理深度拆解(二):putVal 完整链路解析(懒加载 · 链表遍历 · 尾插法)
java·开发语言·哈希算法
Sam_Deep_Thinking3 小时前
一个靠谱的C端网关服务应该包含什么内容
java·程序员·系统架构
杨运交3 小时前
[055][调度模块]Spring动态任务调度框架的设计与实现
java·后端·spring
白狐_7983 小时前
408 数据结构算法题 01:线性表暴力求解保分指南
java·数据结构·算法
流云鹤3 小时前
03Java学习day(3)
java·学习
tqs_123453 小时前
Agent智能体+Skill插件引擎+Milvus混合检索 技术沉淀
java·python·milvus
严同学正在努力4 小时前
从备份到恢复:我用 30 分钟恢复了误删的核心业务表
android·java·数据库·ai