程序编译总要很长时间, 怎么提高效率?

superwavelet 2012-04-17 09:49:03
一个别人的vs 2008 的程序, 编译, 加载数据, 运行, 需要一个小时.

然后我改改, 再运行,又要一个小时才能看到结果.

这样岂不是很浪费时间, 怎么办?

这样如何修改程序啊
...全文
859 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
李荣强 2012-04-19
  • 打赏
  • 举报
回复
哎,差距太大了,我编译的都是小儿科的程序,最多10几秒!向你们学习,c++进阶!
_程序员 2012-04-19
  • 打赏
  • 举报
回复
分模块编译成DLL
nice_cxf 2012-04-19
  • 打赏
  • 举报
回复
明显lz已经说了不是编译时间长的问题是运行时间长。。。
在初始化那里一点点加输出或日志,看看到底是哪里花费了很长时间,1g的数据是要花些时间,但不至于这么离谱
恨天低 2012-04-19
  • 打赏
  • 举报
回复
Linux下make -j 多进程编译
ithzhang 2012-04-19
  • 打赏
  • 举报
回复
只要文件被修改都得重新编译。别人用一小时,你也用一小时,说明你不比别人慢。这个项目编译完就得这个时间。
CandPointer 2012-04-18
  • 打赏
  • 举报
回复
如果是读取数据很慢,比如 n多个 小文件,并且可能是文件内读取是,跳转到指定offset,读取某些数,做一些处理,再根据结果fseek到另外一个offset 。这类,是有可能看起来才1G数据,结果却加载很久

测试时,临时地,使用内存映射文件,把各种加载的数据,预先处理好,放到 内存映射文件中。(有参数,可以不创建硬盘文件,纯粹地在内存中)

程序的读取数据部分,稍微修改下。

这样,反复测试的时候,就省去了从硬盘读取大量文件,耗时浪费时间了。
等程序最终测试完好后。 再修改读取数据的部分。
ghlhy0505 2012-04-18
  • 打赏
  • 举报
回复
那么大的数据,可以考虑拆分一下啊,然后分基本线程同时取啊···不过这个是否可行还得看你的程序的需求了
JackPan 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

看 effective c++.
减少头文件的依赖关系.
[/Quote]

这个靠谱点
以免我忘记 2012-04-18
  • 打赏
  • 举报
回复
换个机器吧。
波杰克男 2012-04-18
  • 打赏
  • 举报
回复
围观学习学习中。。。看来楼主大神啊
左眼的眼 2012-04-18
  • 打赏
  • 举报
回复
用incredbuilder,分布式编译
ma100 2012-04-18
  • 打赏
  • 举报
回复
加内存, 然后把2g内存虚拟成硬盘, 把你的1g文件放进去, 加载速度应该提高50%以上
redleaves 2012-04-18
  • 打赏
  • 举报
回复
搞个固态硬盘,加载就快多了
编译应该不会太慢吧.就算慢也可以通过优化程序组织结构来改进.
如果链接太慢的话,可以想办法把程序拆分成不同的模块,分别编译成不同的dll,再组合起来用...
  • 打赏
  • 举报
回复
加载1G的文件的东西,干嘛不把这1G的东西放到SQL Server数据库中呢,然后用程序操作数据库,即使操作数据库1G的东西,也用不了1个小时吧,楼主你用的是什么电脑啊
superwavelet 2012-04-18
  • 打赏
  • 举报
回复
我反正就是每次 ctrl+F5
AnYidan 2012-04-18
  • 打赏
  • 举报
回复
传说中有人遇到过此问题,是否考虑用银河
rendao0563 2012-04-18
  • 打赏
  • 举报
回复
使用联合编译工具
majia2011 2012-04-18
  • 打赏
  • 举报
回复
估计是预编译头里面包含的东西太多了,每次都在改它吧,呵呵呵
luciferisnotsatan 2012-04-18
  • 打赏
  • 举报
回复
用build,不要用rebuild。也不要去按clean
赵4老师 2012-04-18
  • 打赏
  • 举报
回复
设置“使用预编译头文件”,用“生成”,不要用“重新生成”。
加载更多回复(9)

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧