您尚未登录。

#1 2013-03-17 20:15:12

timxx
会员
注册时间: 2013-03-17
帖子: 21

Arch下gcc编译特别慢

额,第一次来这里,不知是不是在这板块发,不是的话版主帮忙移一下~

在Arch下编译一个项目(C++工程,CMake构建)时间(大概57分钟)比Ubuntu慢了20多分钟!!!
代码是同一份的,放在SSD硬盘上,同一台机器编译

硬件情况
CPU 4核4线程的,所以编译时加了-j4,系统装的都是32位,项目不能在64位下编 sad

唯一不同的是,ubuntu装在机械硬盘,而Arch装在SSD上(跟代码同一硬盘)
Arch装了AUR上的PAE内核,makepkg.conf把那什么-march改为native了

才用Arch没多久,不太明白为什么会这样,实在受不了这编译速度了,
本来编译时间就长的,这Arch还多加20+

各位看看什么问题,谢啦

离线

#2 2013-03-18 09:33:02

fengchao
会员
注册时间: 2012-02-21
帖子: 116

Re: Arch下gcc编译特别慢

SSD 读快写慢,因为擦出的时候是按块擦除的。所以频繁写的操作尽量不要用 SSD,速度慢不说,影响寿命。

离线

#3 2013-03-18 09:35:49

timxx
会员
注册时间: 2013-03-17
帖子: 21

Re: Arch下gcc编译特别慢

fengchao 说:

SSD 读快写慢,因为擦出的时候是按块擦除的。所以频繁写的操作尽量不要用 SSD,速度慢不说,影响寿命。

额,影响寿命什么的可以不管,关键是代码不放在SSD,编译的时候系统会卡(那破机械硬盘用久了会这样)

另一个,代码都同一份的,都在SSD编怎么会有那么大的区别

离线

#4 2013-03-18 12:37:06

phoenixlzx
晩ご飯だよー
注册时间: 2011-08-19
帖子: 1,789
个人网站

Re: Arch下gcc编译特别慢

编译放硬盘上,您真有闲心啊。

自己在主目录下放一个 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自己看着改。

离线

#5 2013-03-18 12:43:48

timxx
会员
注册时间: 2013-03-17
帖子: 21

Re: Arch下gcc编译特别慢

phoenixlzx 说:

编译放硬盘上,您真有闲心啊。

自己在主目录下放一个 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我何必自寻烦恼,会撑暴的~~~

离线

#6 2013-03-18 16:18:01

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,953
个人网站

Re: Arch下gcc编译特别慢

什么项目?编译参数是一样的吗?会不会是默认检测到了更多的东西所以编译的东西也更多?内存使用情况对比呢?

离线

#7 2013-03-18 16:21:38

timxx
会员
注册时间: 2013-03-17
帖子: 21

Re: Arch下gcc编译特别慢

百合仙子 说:

什么项目?编译参数是一样的吗?会不会是默认检测到了更多的东西所以编译的东西也更多?内存使用情况对比呢?

公司内部的项目。。编译参数是一样的,并没有根据系统环境编译多点或少点东西

内存占用倒没对比过

在编译gcc4.8,用自己开的优化看看是不是GCC问题

离线

#8 2013-03-19 00:03:33

sigma
会员
注册时间: 2012-01-03
帖子: 183

Re: Arch下gcc编译特别慢

不如attach到进程上去,看看编译时哪些资源占用比较严重。


riverrun, past Eve and Adam's.

离线

#9 2013-03-19 09:35:06

timxx
会员
注册时间: 2013-03-17
帖子: 21

Re: Arch下gcc编译特别慢

sigma 说:

不如attach到进程上去,看看编译时哪些资源占用比较严重。

已经知道什么问题了,是安装的PAE内核问题,用原来的可以快十几分钟,
编译优化一下PAE应该就好了

离线

#10 2013-04-27 12:18:32

felixonmars
Arch Linux Developer
所在地: Wuhan, Hubei, China
注册时间: 2011-08-21
帖子: 148
个人网站

Re: Arch下gcc编译特别慢

多次编译同一个东西的话建议打开 ccache 哦 (虽然你应该已经知道了


Felix Yan
Twitter: @felixonmars
Web: http://felixc.at
tongue

离线

页脚