1. 程式人生 > >“xcode設定不同併發任務數量”及“記憶體大小”對編譯時間的影響

“xcode設定不同併發任務數量”及“記憶體大小”對編譯時間的影響

結論:

1、現有大部分Mac配置了i7處理器,應設定併發任務數量為8,可以達到最佳效果

2、4G記憶體及8G記憶體下,編譯時間是基本一樣的,故無需升級記憶體,但需要保持構建機器儘量少地開啟不相關的程式(例如開啟N個XCODE),同時每隔一段時間可以重啟下機器

一、環境

作業系統:Mac OS x 10.7.4

記憶體:4GB 1333MHZ DDR3 ;8GB 1333MHZ

處理器:2GHz Intel Core i7

被測專案:

專案 程式碼檔案大小
A 68.4MB
B 472MB
C 1044MB

二、資料 


表一 4G記憶體下設定不同併發任務(2、4、6、8分別表示併發任務為2、4、6、8)

表二 4G記憶體下設定不同併發任務


表三:4G、8G記憶體的編譯時間對比

三、分析

關於併發數量任務設定:

目前xcode預設設定的併發任務數量為4(網上說預設為2,但我們現在的xcode版本估計已經優化了這一設定,預設為4),可以看到當設定併發任務為4時,比設定為2要快40%左右。而事實上,i7是一款支援超執行緒技術的四核處理器,相當於是有8個處理核心,因此,將併發數量設為8時,可以提高效率,相比並發數量為4時,可以快13%左右

關於記憶體大小對編譯的影響:

       由表三可以看到,在重新啟動機器後,再進行構建,記憶體4G、8G下的編譯時間基本是一樣的;另外,需要注意到,且需要持續觀察的一個現象是:1 測試機器之前是作為普通的構建機器,每天需要執行大量的構建任務,一開始未對其進行重啟便開始測試,這時候的編譯時間要比重啟後再進行測試的耗時,要多20%左右(資料見附件);2. 4G記憶體下,其可用記憶體一直在1G到200MB之間波動,而8G記憶體下,可用記憶體一般都在4G以上;據這兩個現象,可以初步推斷,4G記憶體會隨著機器執行任務次數的增多而逐漸消耗,到最後,也會成為效能的瓶頸,因此,我們不要在構建機器上開啟不相關的程式,且可以定期重啟機器

 關於構建檔案的快取

       對同個任務,第一次構建的耗時要比第二次構建的耗時要長。這是因為,在第一次構建後,在記憶體或者虛擬記憶體中,會快取上一次構建的檔案;因此第二次構建的io耗時就減少了;過程中也測試了,重新啟動機器後再進行構建(這時候就沒有了快取),併發任務數量設為8,依然要比並發數量設為4快12%左右(和不重啟機器的結論是一樣的)。

其他:

1.  併發任務數量相關命令(在終端執行以下命令,就能永久生效,不用每次編譯都執行)

獲取現有設定:

defaults read com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks

設定併發任務數量為8:

defaults write com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks 8

相關推薦

xcode設定不同併發任務數量記憶體大小編譯時間影響

結論: 1、現有大部分Mac配置了i7處理器,應設定併發任務數量為8,可以達到最佳效果 2、4G記憶體及8G記憶體下,編譯時間是基本一樣的,故無需升級記憶體,但需要保持構建機器儘量少地開啟不相關的程式(例如開啟N個XCODE),同時每隔一段時間可以重啟下機器 一、環境 作業系統:Mac OS x

Python獲取指定目錄下檔案數量大小

import os totalSize = 0 fileNum = 0 dirNum = 0 def visitDir(path): global totalSize glob

解決使用NSMutableAttributedString 設定不同字型,文字不能居中

問題描述 使用NSMutableAttributedString設定不同字型, int a = 50; int b = 10; NSMutableAttribut

java -Xms -Xmx設定java應用程式執行的記憶體大小,Xms Xmx PermSize MaxPermSize 區別

Eclipse崩潰,錯誤提示: MyEclipse has detected that less than 5% of the 64MB of Perm  Gen (Non-heap memory) space remains. It is strongly recommended that you ex

MDK生成bin檔案的方法bin檔案大小程式的影響

MDK生成bin檔案的方法及bin檔案大小對程式的影響       使用MDK軟體一般是不生成bin檔案的,而是生成的是hex檔案。但是在某些時候需要生成bin檔案,或者要知道bin檔案的大小。因為bin檔案的大小直接關乎程式能不能下載到晶片,例如STM32F10

【MYSQL】CPU資源和可用記憶體大小資料庫效能的影響

前言 可能影響到資料庫效能的幾個點,其一就是伺服器硬體,也是本節要說的CPU與可用記憶體。 引入 當熱資料超過可用記憶體大小,MemCache儲存引擎快取層容易失效(當快取大量失效時,容易產生大量的網路傳輸),從而影響伺服器的效能。 當出現這類I/O系統瓶頸時,我們

StringBuilder記憶體碎片效能的影響

# StringBuilder記憶體碎片對效能的影響 ## TL;DR: `StringBuilder`內部是由多段`char[]`組成的**半自動連結串列**,因此頻繁從**中間**修改`StringBuilder`,會將原本連續的記憶體分隔為多段,從而影響讀取/遍歷效能。 連續記憶體與不連續記憶體的效

併發程式設計(四)—— ThreadLocal原始碼分析記憶體洩露預防

今天我們一起探討下ThreadLocal的實現原理和原始碼分析。首先,本文先談一下對ThreadLocal的理解,然後根據ThreadLocal類的原始碼分析了其實現原理和使用需要注意的地方,最後給出了兩個應用場景。相信本文一定能讓大家完全瞭解ThreadLocal。 ThreadL

Hadoop MapReduce中map任務數量設定詳解

首先注意的是在Hadoop Streaming 中可以通過-D mapred.map.tasks=(你想要設定的map數量) 來確定map任務的個數, goal_num = mapred.map.tasks 但是這裡需要注意的是,只有在這個值大於hadoop中計算的默認個

ECShop後臺修改站內快訊數量首頁精品推薦等顯示個數設定

這節說下ECShop兩個簡單的設定,第一個是首頁站內快訊顯示數量的修改 這個可以從後臺--系統設定--商店設定--顯示設定,找到“最新文章顯示數量”,然後修改此項的引數,就可以修改首頁站內快訊的顯示數量。 第二個數關於首頁的精品推薦,新品上市,熱賣商品 這三項的顯示商品個數

Android Studio 設定記憶體大小原理

http://www.cnblogs.com/justinzhang/p/4274985.html http://tsroad.lofter.com/post/376316_69363ae Android studio 1.0.2預設最大記憶體是750M,這樣跑起來非常的卡,難以忍受,機器又不是固態硬碟,

在AngularJs中怎麼設定請求頭資訊(headers)不同方法的比較

在AngularJs中有三種方式可以設定請求頭資訊: 1、在http服務的在服務端發送請求時,也就是調用http()方法時,在config物件中設定請求頭資訊:事例如下: $http.post('/somePath' , someData , {

eclipse/myeclipse修改記憶體大小(針對不同大小記憶體設定ini檔案配置)

方法一: 開啟eclipse,選擇Window–Preferences…在對話方塊左邊的樹上雙擊Java,再雙擊Installed JREs,在右邊選擇前面有對勾的JRE,再單擊右邊的“Edit”按鈕, 出現一個 Edit JRE 的對話方塊,在其中的Def

Android設定Selector不同狀態下顏色圖片

Selector常用狀態: android:state_selected 控制元件選中狀態,可以為true或false android:state_focused 控制元件獲得焦點狀態,可以為true或false android:state_pressed 控制元件點選狀態

Xcode經常使用插件使用自己主動生成幫助文檔

number str default wan term necessary red pro .sh *一、Xcode 插件下載:* VVDocumenter下載: https://github.com/onevcat/VVDocumenter-Xcod

不同瀏覽器和浮動定位

文檔 bfc gradient rom fix absolute stat w3c標準 pos background:lineer-gradient(to right/90deg,red,yellow) 漸變/橫向 border-radius:50% *** 圓角 box-

Linux任務處理日誌查看常用命令

silent 常用命令 -i 定時 運行 循環 默認 lin 空格 任務處理命令: (1) CTRL+Z掛起進程並放入後臺(2) jobs 顯示當前暫停的進程(3) bg %N 使第N個任務在後臺運行(%前有空格)(4) fg %N 使第N個任務在前臺運行默認bg,fg不帶

月度出貨數量金額

sele select and 日期 left 總計 sub HERE pre use TEST go select * from ( select isnull(SUBSTRING(a.TG003,1,6),‘總計:‘) as 日期,sum(b.TH008) as 數量,

Xcode 執行程式,memory 不顯示記憶體

執行程式後,xcode 不顯示當前使用的記憶體情況,問題是打開了殭屍--enable zoombie Objects,關閉即可 開啟 product--->SCheme-->EditSCheme -->enable zoombie Objects &nbs

拆卸ThinkpadE470記憶體槽資訊

拆卸ThinkpadE470及記憶體槽資訊 第一步: 第二步:將後面板向下滑 拆卸後如下圖