xcbuild可用性分析報(bào)告

xcbuild可用性分析報(bào)告

項(xiàng)目簡介

xcbuild是Facebook 出品的開源 App 構(gòu)建工具降宅,一款能夠?yàn)?App 構(gòu)建過程與多平臺運(yùn)行提供更快構(gòu)建、更好文檔并兼容 Xcode 的構(gòu)建工具淀衣。

官方對其特性介紹如下:

  • 超快的增量構(gòu)建和構(gòu)建頻率篱昔;
  • 支持構(gòu)建Xcode項(xiàng)目和workspace瑞妇;
  • 支持Swift應(yīng)用與框架;
  • 使用Ninja和llbuild秉沼;
  • 完全兼容xcpretty桶雀;
  • 基于BSD開源許可;
  • 基于Linux平臺構(gòu)建唬复。

官方給出的性能比較:

perfermance
perfermance

XCBuild安裝配置步驟:(MacOS下)

  1. 安裝homeBrew:http://brew.sh/矗积,直接按照官網(wǎng)步驟去終端里運(yùn)行即可。
  2. 安裝CMake和Ninja:
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]進(jìn)行編譯即可敞咧。

實(shí)驗(yàn)

為了測試xcbuild是否真的有fb說的那么神棘捣,特用動態(tài)資源下載的framework來做實(shí)驗(yàn)。

  • 樣本對象:動態(tài)資源下載 RMResourceManager
  • 對照組:xcodebuild和xcbuild
  • 測試方法:在同一條件下分別build RMResourceManager休建,用time打印命令執(zhí)行時間乍恐。需要注意的是,每次build完需要刪除路徑上build出來的framework和clean項(xiàng)目测砂,以免造成其它結(jié)果的干擾
  • time中會打印三種時間茵烈,分別為real,user,sys。本文以real為準(zhǔn)砌些。

結(jié)果

平臺 完全build耗費(fèi)時間 增量build耗費(fèi)時間
xcodebuild 3.125s 1.056s
xcbuild 4.974s 4.814s
xcbuild+ninja 3.696s 0.329s

結(jié)果分析

  • xcbuild一定要和ninja一起用呜投,不然相比xcodebuild沒有優(yōu)勢;
  • 完全build(即clean build)下,xcbuild+ninja并沒有太大優(yōu)勢仑荐;但是增量更新上雕拼,xcbuild+ninja可以說是壓倒式的勝利。
  • fb在宣傳上確實(shí)沒有放水释漆,在增量性能上性能很高。
  • 但是鑒于技術(shù)過于新篮迎,穩(wěn)定性不能保證男图,所以建議先保持關(guān)注

附錄

測試時使用的命令:

  • xcodebuild:
time xcodebuild -workspace RMResourceManager.xcworkspace -scheme RMResourceManager
  • xcbuild:
time ./xcbuild/build/xcbuild -workspace /Users/mengdao/Desktop/RMResourceManager_9.6_160229/RMResourceManager.xcworkspace -scheme RMResourceManager
  • xcbuild+ninja:
time ./build/xcbuild -executor ninja -workspace /Users/mengdao/Desktop/RMResourceManager_9.6_160229/RMResourceManager.xcworkspace -scheme RMResourceManager
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末甜橱,一起剝皮案震驚了整個濱河市逊笆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌岂傲,老刑警劉巖难裆,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異镊掖,居然都是意外死亡乃戈,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進(jìn)店門亩进,熙熙樓的掌柜王于貴愁眉苦臉地迎上來症虑,“玉大人,你說我怎么就攤上這事归薛〉荆” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵主籍,是天一觀的道長习贫。 經(jīng)常有香客問我,道長千元,這世上最難降的妖魔是什么苫昌? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮幸海,結(jié)果婚禮上蜡歹,老公的妹妹穿的比我還像新娘。我一直安慰自己涕烧,他們只是感情好月而,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著议纯,像睡著了一般父款。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天憨攒,我揣著相機(jī)與錄音世杀,去河邊找鬼。 笑死肝集,一個胖子當(dāng)著我的面吹牛瞻坝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播杏瞻,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼所刀,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了捞挥?” 一聲冷哼從身側(cè)響起浮创,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎砌函,沒想到半個月后斩披,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡讹俊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年垦沉,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片仍劈。...
    茶點(diǎn)故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡乡话,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出耳奕,到底是詐尸還是另有隱情绑青,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布屋群,位于F島的核電站闸婴,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏芍躏。R本人自食惡果不足惜邪乍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望对竣。 院中可真熱鬧庇楞,春花似錦、人聲如沸否纬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽临燃。三九已至睛驳,卻和暖如春烙心,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背乏沸。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工淫茵, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蹬跃。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓匙瘪,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蝶缀。 傳聞我的和親對象是個殘疾皇子丹喻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容