pod update耗时的简单分析

CocoaPods中,pod install只会对.podfile中,新的库版本进行分析,并升级到podfile中的指定版本。

区别于pod installpod update会到cocoaPods的仓库地址中,去比对podfile文件中,依赖的文件进行版本比对和按情况升级。

pod update通常是比较耗时的操作,至于原因,本文会对CocoaPods在执行pod update时的耗时影响做了简单分析:

pod update的5个步骤:

1. resolve_dependencies
    * update repo(升级仓库文件,下载至本地)
    * 解析podfile
2. download_dependencies(下载podfile中的依赖及其间接依赖)
3. generate_pods_project(即生成dependency在Pods工程中的target,以及写pod file.lock等文件)
4. integrate_targets
5. perform_post_install_actions

pod update的几个步骤,项目不同,耗时不同。

耗时分析

但针对几个不同的步骤,其耗时状况如下:

步骤 影响因素 耗时状况
resolve_dependencies 轻量化操作,耗时很少
download_dependencies 1. 有缓存明显好于无缓存 2. 需要升级的依赖库越耗时
generate_pods_project 需要update的依赖库越多越多,越耗时 较多
integrate_targets 常规操作,耗时少,影响因素少
perform_post_install_actions 常规操作,耗时少,影响因素少

当然耗时的很大的影响因素就是网络状况。
国内开发环境下,很多人用淘宝的镜像就是这个原因,但可以翻墙的情况下,其影响较小。

结语

但坦白来说,pod update的耗时很大程度上取决于依赖库的多少,所以开发者在选择依赖库时,择优而取。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容