
项目越来越大,每次需要重新
编译整个项目都是一件很浪费时间的事情。Research了一下,找到以下可以帮助提高
速度的方法,总结一下。 1. 使用tmpfs来代替部分IO读写2.ccache,可以将ccache的缓存文件设置在tmpfs上,但是这样的话,每次开机后,ccache的缓存文件会丢失3.distcc,多机器编译4.将屏幕输出打印到内存文件或者/dev/null中,避免终端设备(慢速设备)拖慢速度。 tmpfs 有人说在Windows下用了RAMDisk把一个项目编译时间从4.5小时减少到了5分钟,也许这个数字是有点夸张了,不过粗想想,把文件放到内存上做编译应该是比在磁盘上快多了吧,尤其如果编译器需要生成很多临时文件的话。这个做法的实现成本最低,在Linux中,直接mount一个tmpfs就可以了。而且对所编译的工程没有任何要求,也不用改动编译环境。mount -t tmpfs tmpfs ~/build -o size=1G 用2.6.32.2的Linux Kernel来测试一下编译速度:用物理磁盘:40分16秒用tmpfs:39分56秒呃……没什么变化。看来编译慢很大程度上瓶颈并不在IO上面。但对于一个实际项目来说,编译过程中可能还会有打包等IO密集的 *** 作,所以只要可能,用tmpfs是有益无...应该是正常的。我这边通过路由传送,也是1M/s左右。这同网线、
网卡、以及磁盘的读写速度都有关系。
网线质量、网线6根线是否都接通,还是仅仅接通了其中3根。
网卡100M的还是1000M的?如果是千兆网卡,但是网线的水晶头直接了3根是达不到1000M水平的因为千兆网卡需要将水晶头6根线都接通。
还有网卡工作模式,双工、半工、半双工。
100M的网卡,理论上能够达到12M/s的传输速率,实际会更低。
硬盘的读取速度也是一大制约。特别是在网络传输过程中,会出现硬盘格式不相同造成速度变慢。
两个的速度差不多。
Linux在从和向NTFS格式的硬盘上复制文件时,比windows XP、Vista快很多倒是事实。
Windows 7没有用过,没有相关的经验,据说已经快赶上Linux了。
SD卡读写速度的快慢,跟SD卡和读卡器的速度快慢有直接关系。如果经常复制这么大的文件,可以考虑换高速的SD卡和读卡器。
评论列表(0条)