页次: 1
额,第一次来这里,不知是不是在这板块发,不是的话版主帮忙移一下~
在Arch下编译一个项目(C++工程,CMake构建)时间(大概57分钟)比Ubuntu慢了20多分钟!!!
代码是同一份的,放在SSD硬盘上,同一台机器编译
硬件情况
CPU 4核4线程的,所以编译时加了-j4,系统装的都是32位,项目不能在64位下编
唯一不同的是,ubuntu装在机械硬盘,而Arch装在SSD上(跟代码同一硬盘)
Arch装了AUR上的PAE内核,makepkg.conf把那什么-march改为native了
才用Arch没多久,不太明白为什么会这样,实在受不了这编译速度了,
本来编译时间就长的,这Arch还多加20+
各位看看什么问题,谢啦
离线
SSD 读快写慢,因为擦出的时候是按块擦除的。所以频繁写的操作尽量不要用 SSD,速度慢不说,影响寿命。
离线
SSD 读快写慢,因为擦出的时候是按块擦除的。所以频繁写的操作尽量不要用 SSD,速度慢不说,影响寿命。
额,影响寿命什么的可以不管,关键是代码不放在SSD,编译的时候系统会卡(那破机械硬盘用久了会这样)
另一个,代码都同一份的,都在SSD编怎么会有那么大的区别
离线
编译放硬盘上,您真有闲心啊。
自己在主目录下放一个 tmpfs,项目复制一份丢在里面编译好了。贴一个样例配置,我的内存是8G的,tmpfs给了4G
~> mkdir -p ~/tmpfs
~> cat /etc/fstab
#
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
tmpfs /tmp tmpfs nodev,nosuid 0 0
# user tmpfs
tmpfs /home/phoenix/tmpfs tmpfs size=4096M,nodev 0 0
# 这一行改成你 tmpfs 的目录,主要是用户名别写成我的了,size自己看着改。
离线
编译放硬盘上,您真有闲心啊。
自己在主目录下放一个 tmpfs,项目复制一份丢在里面编译好了。贴一个样例配置,我的内存是8G的,tmpfs给了4G
~> mkdir -p ~/tmpfs ~> cat /etc/fstab # # /etc/fstab: static file system information # # <file system> <dir> <type> <options> <dump> <pass> tmpfs /tmp tmpfs nodev,nosuid 0 0 # user tmpfs tmpfs /home/phoenix/tmpfs tmpfs size=4096M,nodev 0 0 # 这一行改成你 tmpfs 的目录,主要是用户名别写成我的了,size自己看着改。
大哥,要能放tmpfs我何必自寻烦恼,会撑暴的~~~
离线
什么项目?编译参数是一样的吗?会不会是默认检测到了更多的东西所以编译的东西也更多?内存使用情况对比呢?
离线
什么项目?编译参数是一样的吗?会不会是默认检测到了更多的东西所以编译的东西也更多?内存使用情况对比呢?
公司内部的项目。。编译参数是一样的,并没有根据系统环境编译多点或少点东西
内存占用倒没对比过
在编译gcc4.8,用自己开的优化看看是不是GCC问题
离线
不如attach到进程上去,看看编译时哪些资源占用比较严重。
riverrun, past Eve and Adam's.
离线
不如attach到进程上去,看看编译时哪些资源占用比较严重。
已经知道什么问题了,是安装的PAE内核问题,用原来的可以快十几分钟,
编译优化一下PAE应该就好了
离线
多次编译同一个东西的话建议打开 ccache 哦 (虽然你应该已经知道了
Felix Yan
Twitter: @felixonmars
Web: http://felixc.at
离线
页次: 1