## 项目目的
源于在做 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 | - |
bsdiff| google-diff-match-patch | metro-bundle 文件差异分析工具性能比对
瓦哥架构实战2024-01-17 10:01
相关推荐
码住懒羊羊12 分钟前
【C++】stack|queue|dequehdsoft_huge13 分钟前
第六章 Kettle(PDI)解锁脚本组件:数据处理的可编程利器聪明的笨猪猪36 分钟前
Java JVM “内存(1)”面试清单(含超通俗生活案例与深度理解)程序员清风1 小时前
快手二面:乐观锁是怎么用它来处理多线程问题的?一线大码1 小时前
SpringBoot 优雅实现接口的多实现类方式花伤情犹在1 小时前
Java Stream 高级应用:优雅地扁平化(FlatMap)递归树形结构数据yaoxin5211231 小时前
212. Java 函数式编程风格 - Java 编程风格转换:命令式 vs 函数式(以循环为例)摇滚侠2 小时前
Spring Boot 3零基础教程,WEB 开发 Thymeleaf 属性优先级 行内写法 变量选择 笔记42滑水滑成滑头2 小时前
**发散创新:多智能体系统的探索与实践**随着人工智能技术的飞速发展,多智能体系统作为当今研究的热点领域,正受到越来越多关注摇滚侠2 小时前
Spring Boot 3零基础教程,WEB 开发 Thymeleaf 总结 热部署 常用配置 笔记44