热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

并发任务“xcode设置不同并发任务数量”及“内存大小”对编译时间的影响

废话就不多说了,开始。。。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

 

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


推荐阅读
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 字符串学习时间:1.5W(“W”周,下同)知识点checkliststrlen()函数的返回值是什么类型的?字 ... [详细]
  • 在分析Android的Audio系统时,我们对mpAudioPolicy->get_input进行了详细探讨,发现其背后涉及的机制相当复杂。本文将详细介绍这一过程及其背后的实现细节。 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • Java高并发与多线程(二):线程的实现方式详解
    本文将深入探讨Java中线程的三种主要实现方式,包括继承Thread类、实现Runnable接口和实现Callable接口,并分析它们之间的异同及其应用场景。 ... [详细]
  • 本文总结了在SQL Server数据库中编写和优化存储过程的经验和技巧,旨在帮助数据库开发人员提升存储过程的性能和可维护性。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 本文介绍了如何利用 `matplotlib` 库中的 `FuncAnimation` 类将 Python 中的动态图像保存为视频文件。通过详细解释 `FuncAnimation` 类的参数和方法,文章提供了多种实用技巧,帮助用户高效地生成高质量的动态图像视频。此外,还探讨了不同视频编码器的选择及其对输出文件质量的影响,为读者提供了全面的技术指导。 ... [详细]
  • 本文是Java并发编程系列的开篇之作,将详细解析Java 1.5及以上版本中提供的并发工具。文章假设读者已经具备同步和易失性关键字的基本知识,重点介绍信号量机制的内部工作原理及其在实际开发中的应用。 ... [详细]
  • 在《Linux高性能服务器编程》一书中,第3.2节深入探讨了TCP报头的结构与功能。TCP报头是每个TCP数据段中不可或缺的部分,它不仅包含了源端口和目的端口的信息,还负责管理TCP连接的状态和控制。本节内容详尽地解析了TCP报头的各项字段及其作用,为读者提供了深入理解TCP协议的基础。 ... [详细]
  • 本文深入解析了JDK 8中HashMap的源代码,重点探讨了put方法的工作机制及其内部参数的设定原理。HashMap允许键和值为null,但键为null的情况只能出现一次,因为null键在内部通过索引0进行存储。文章详细分析了capacity(容量)、size(大小)、loadFactor(加载因子)以及红黑树转换阈值的设定原则,帮助读者更好地理解HashMap的高效实现和性能优化策略。 ... [详细]
  • 深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案
    深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案 ... [详细]
author-avatar
手机用户282914901
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有