搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
我家自动化
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
身体质量指数BMI——python_身体质量指数python代码
2
c#实现一个自动售货机的基础动作功能_c#自动售货机代码
3
【Python爬虫】分享11 个有趣的 Python 爬虫例子,附源码!_python爬虫能爬什么好玩的
4
Paragon NTFS16Mac读写外置移动硬盘专业工具_paragon ntfs for mac 16
5
一篇讲明白 Hadoop 生态的三大部件
6
深度学习实战:tensorflow训练循环神经网络让AI创作出模仿莎士比亚风格的作品_tensorflow深度学习实战 | 基于生成式对抗网络生成动漫人物
7
Android开发规范:API接口安全设计规范
8
Android Studio 最新最详细安装教程_as下载安装
9
OSINT技术情报精选·2024年4月第1周
10
力扣(LeetCode) -设计单链表(C语言)_lletcode用c语言如何初始化结点
当前位置:
article
> 正文
IncrediBuild 加速原理_incredbuild 还是很慢
作者:我家自动化 | 2024-03-28 10:33:22
赞
踩
incredbuild 还是很慢
虽然现在计算机的运算速度不断提高, 但大型软件的编译速度仍然是个漫长的过程,我所在的项目, 软件大小约为200K行, 在VC6下的编译时间为3分钟(P4 1.8G, 512M), 在交叉编译时更慢, 提高编译速度将能够直接提高前期调测的效率. 本文将介绍提高编译速度的有效方法之一 - 分布式编译.
分布式编译的原理很简单, 就是将编译的整个工作量通过分布计算的方法分配到多个计算机上执行, 这样可以获得极大的效率提升. 由于分布式计算的技术相对成熟, 现在可以见到的分布式编译软件也较多. 一般来说, 一个分布式编译软件不是一个编译器, 而是附着在某个编译器上的分布计算管理软件, 使得对于特定的编译器可以实现分布式编译.
常见的分布式编译器通常是对应于特定的C/C++编译器, 如Gcc, Visual C++, 因为这些编译器使用相当广泛且开放度高. 因而实现分布式编译的意义更大. 下面分别以Visual C++和Gcc为例说明两个典型的分布式编译软件:
1)IncrediBuild
这是一个对应Visual C++ 的分布式编译软件, 通过Visual C++强大的IDE扩展功能, 它有着非常友好的界面, 可以将整个分布式编译过程直观的展现给用户, 并且它通过一个"虚拟机"的技术, 使能编译的参与者可以与编译发起者有着不同的系统配置(Windows操作系统版本, 库文件等), 甚至无需在参与者机器上安装Visual C++.
IncrediBuild需要一个特定的计算机做仲裁者, 其他的所有计算机作为客户, 有了仲裁者的好处是, 可以有它来统一安排所有客户端所发起的编译请求, 一旦某个客户发起编译请求, 则仲裁者会根据其他客户的CPU空闲情况而安排分布式编译, 当多个客户同时发起编译请求时, 仲裁者会自动平衡分布计算负担,使得编译参与者不会占用过多的CPU.
在我们的项目中, 使用IncrediBuild的结果如下:
未使用: 3分钟
5客户: 40秒
10客户: 25秒
可见IncrediBuild对编译性能的巨大提升, 并且在取得如此性能提升的同时, 仲裁者和编译参与者的CPU占用率很低. 保持相当高的可用性, 这是很难得的.
IncridiBuild的缺点是目前仅支持Visual C++ 6编译器和.Net编译器, 也仅适用于Windows平台. 适用范围相对较窄.
2)DistCC
这是一个GNU的分布式C++编译器, 适用于一切Gcc兼容的C++编译器, DistCC也具有很好的跨平台特性, 支持Linux, XFree86, CygWin等平台. 使用范围相当广泛.
DistCC和IncrediBuild的差别在与DistCC不使用仲裁者, 直接由客户端对其他客户端发起编译请求. 所以每个客户端都需要知道其他客户端的位置, 并且当多个客户发起编译请求时不易做平衡处理.
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/我家自动化/article/detail/329598
推荐阅读
article
IncrediBuild
联合编译_
incredibuild
license
...
01 基本信息官网: https://www.
incredibuild
.com要使用
IncrediBuild
,必须有Li...
赞
踩
article
提高
Qt
Creator
编译
速度的7种方法の扩展篇:
IncrediBuild
v9.
x
使用
详解,与Q...
笔者在2019年初写了一篇《提高
Qt
Creator
编译
速度的5种方法》_
qt
incredibuild
qt
incre...
赞
踩
article
Qt
Creator
的
Incredibuild
插件简介_
qt
incredibuild
...
Qt
Creator
4.13 于 2020 年 8 月发布,比 QT 6.0 的发布早一些。这一版本带来了许多突破性的...
赞
踩
article
在
AWS
上从零开始设置
Incredibuild
构建
系统
...
Incredibuild
构建
系统
包括多个组件,它们相互作用以加速
构建
。在这篇文章中,我将描述如何在
AWS
上设置该系...
赞
踩
article
incredibuild
安装
,
使用
,
许可证
困扰_
incredibuild
.
netcore
...
incredibuild
许可证
.是一款优秀的加速编译的软件
,
原理是通过调用多台机器的闲置cpu
,
舍弃无用的依赖库
,
进...
赞
踩
article
隆重推出 Incredi
build
10_
incredible
build
...
变更可能来的很快,也可能来的很慢。但有时候,它真的值得我们等待。您并非每天都能目睹一个很棒的平台进一步发展成为一个不可思...
赞
踩
article
Incredibuild
安装
_
vs 2022无法
安装
incredibuild
...
Incredibuild
是一款加速编译软件,被广泛用于游戏开发,计算机软件开发,半导体、嵌入式开发,工业设计等行业;按...
赞
踩
相关标签
visual studio
IncrediBuild
Qt
Creator
v9.x
联合编译
qt
c++
Incredibuild
aws
云计算
unity
ue4
ue5