前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >xcbuild可用性分析报告

xcbuild可用性分析报告

作者头像
nimomeng
发布2018-09-13 14:20:41
1.6K0
发布2018-09-13 14:20:41
举报
文章被收录于专栏:nimomeng的自我进阶

xcbuild可用性分析报告

项目简介

xcbuild是Facebook 出品的开源 App 构建工具,一款能够为 App 构建过程与多平台运行提供更快构建、更好文档并兼容 Xcode 的构建工具。

官方对其特性介绍如下:

  • 超快的增量构建和构建频率;
  • 支持构建Xcode项目和workspace;
  • 支持Swift应用与框架;
  • 使用Ninja和llbuild;
  • 完全兼容xcpretty;
  • 基于BSD开源许可;
  • 基于Linux平台构建。

官方给出的性能比较:

perfermance
perfermance

perfermance

XCBuild安装配置步骤:(MacOS下)

  1. 安装homeBrew:http://brew.sh/,直接按照官网步骤去终端里运行即可。
  2. 安装CMake和Ninja:
代码语言:javascript
复制
brew install cmake ninja
  1. 从git上check xcbuild工程:

git clone https://github.com/facebook/xcbuild cd xcbuild git submodule update --init make```

XCBuild使用方法

在xcbuild目录下输入 ./build/xcbuild -workspace [workspaceName] -scheme [schemeName]进行编译即可。

实验

为了测试xcbuild是否真的有fb说的那么神,特用动态资源下载的framework来做实验。

  • 样本对象:动态资源下载 RMResourceManager
  • 对照组:xcodebuild和xcbuild
  • 测试方法:在同一条件下分别build RMResourceManager,用time打印命令执行时间。需要注意的是,每次build完需要删除路径上build出来的framework和clean项目,以免造成其它结果的干扰
  • time中会打印三种时间,分别为real,user,sys。本文以real为准。

结果

平台

完全build耗费时间

增量build耗费时间

xcodebuild

3.125s

1.056s

xcbuild

4.974s

4.814s

xcbuild+ninja

3.696s

0.329s

结果分析

  • xcbuild一定要和ninja一起用,不然相比xcodebuild没有优势;
  • 完全build(即clean build)下,xcbuild+ninja并没有太大优势;但是增量更新上,xcbuild+ninja可以说是压倒式的胜利。
  • fb在宣传上确实没有放水,在增量性能上性能很高。
  • 但是鉴于技术过于新,稳定性不能保证,所以建议先保持关注
附录

测试时使用的命令:

  • xcodebuild:
代码语言:javascript
复制
time xcodebuild -workspace RMResourceManager.xcworkspace -scheme RMResourceManager
  • xcbuild:
代码语言:javascript
复制
time ./xcbuild/build/xcbuild -workspace /Users/mengdao/Desktop/RMResourceManager_9.6_160229/RMResourceManager.xcworkspace -scheme RMResourceManager
  • xcbuild+ninja:
代码语言:javascript
复制
time ./build/xcbuild -executor ninja -workspace /Users/mengdao/Desktop/RMResourceManager_9.6_160229/RMResourceManager.xcworkspace -scheme RMResourceManager
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016.08.04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • xcbuild可用性分析报告
    • 项目简介
      • XCBuild安装配置步骤:(MacOS下)
        • XCBuild使用方法
          • 实验
            • 结果
              • 结果分析
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档