并发任务“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

 

文章结束给大家分享下程序员的一些笑话语录: 程序员打油诗   
  写字楼里写字间,写字间里程序员;
  程序人员写程序,又拿程序换酒钱。
  酒醒只在网上坐,酒醉还来网下眠;
  酒醉酒醒日复日,网上网下年复年。
  但愿老死电脑间,不愿鞠躬老板前;
  奔驰宝马贵者趣,公交自行程序员。
  别人笑我忒疯癫,我笑自己命太贱;
  不见满街漂亮妹,哪个归得程序员。

posted @ 2013-05-04 20:38  坚固66  阅读(413)  评论(0编辑  收藏  举报