speed up port compiling using RAM (tmpfs) ???

Gary Thorpe gthorpe at myrealbox.com
Fri Jan 20 08:49:14 PST 2006


Kris Kennaway wrote:

> On Thu, Jan 19, 2006 at 05:32:58PM -0500, Gary Thorpe wrote:
> 
>>Ashok Shrestha wrote:
>>
>>>I mounted part of RAM as such:
>>>
>>>mdmfs -s 500m md /mnt
>>>
>>>Then put WRKDIRPREFIX=/path/to/md in /etc/make.conf.
>>>
>>>It substantially reduces compile time by about 5-10 times.
>>>
>>>
>>>Thanx to all ur replies.
>>>
>>>-Ashok Shrestha
>>
>>An alternative is to try using the "-pipe" flag with GCC: this 
>>eliminates the need to use some temporary files by using a unix pipe for 
>>IPC. Setting another flag "-j 2" will allow 2 jobs to be done at the 
>>same time and should eliminate (by hiding) the I/O delays (this slows 
>>down the CPU slightly because of more task switches, but even with one 
>>job there are still lots of generated tasks).
> 
> 
> -j is not safe to use with port builds since many ported software
> contain race conditions in the build.
> 
> Kris

This effectively means that you cannot take advantage of SMP to compile 
FreeBSD's ports collection. That sounds like a big 
limitation...especially for people trying to speed up bulk builds.

Is "-pipe" still a good idea? It should provide a significant 
performance boost, if the process is spending a lot of time doing disk 
I/O, without using up a lot of memory.


More information about the freebsd-hackers mailing list