Testing FORCE MAKE JOBS on FreeBSD 8.0: Difference between revisions

From TykWiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 1: Line 1:
A whole lot of ports installed:
This is a test of the difference in port building speed with and without <code>FORCE_MAKE_JOBS</code> in <code>/etc/make.conf</code>. There is a whole lot of ports installed on this machine (X + applications like Firefox and OpenOffice):
<pre>
<pre>
[tykling@tyklappy ~]$ pkg_info | wc -l
[tykling@tyklappy ~]$ pkg_info | wc -l
Line 5: Line 5:
</pre>
</pre>


The machine is a Lenovo X301 with a solid-state disk and the following CPU and RAM:
<pre>
[tykling@tyklappy ~]$ grep "l memory" /var/run/dmesg.boot
real memory  = 6442450944 (6144 MB)
avail memory = 6066290688 (5785 MB)
</pre>
<pre>
[tykling@tyklappy ~]$ grep CPU: /var/run/dmesg.boot
CPU: Intel(R) Core(TM)2 Duo CPU    U9600  @ 1.60GHz (1602.39-MHz K8-class CPU)
</pre>
The machine is configured with ZFS and is running great with X, everything seems to work. I've posted a dmesg [here].
== Testing ==
This is the command I run to rebuild all ports (except for portmaster):
This is the command I run to rebuild all ports (except for portmaster):
<pre>
<pre>
Line 10: Line 25:
</pre>
</pre>


== Test 1 ==
=== Test 1 ===
First test is a build with the default settings.
First test is a build with the default settings.


Line 27: Line 42:
</pre>
</pre>


== Test 2 ==
=== Test 2 ===
Second test is with <code>FORCE_MAKE_JOBS</code> enabled - <code>MAKE_JOBS_NUMBER</code> is set to 2 in this test, which would have been the default if I had not set <code>MAKE_JOBS_NUMBER</code> since there is two cores in the machine I am running this on.
Second test is with <code>FORCE_MAKE_JOBS</code> enabled - <code>MAKE_JOBS_NUMBER</code> is set to 2 in this test, which would have been the default if I had not set <code>MAKE_JOBS_NUMBER</code> since there is two cores in the machine I am running this on.


Line 38: Line 53:
PERL_VERSION=5.8.9
PERL_VERSION=5.8.9
</pre>
</pre>




Line 49: Line 63:




== Test 3 ==
=== Test 3 ===
Third test is with <code>FORCE_MAKE_JOBS</code> enabled - <code>MAKE_JOBS_NUMBER</code> is set to 4 in this test, double the number of cores in the machine.
Third test is with <code>FORCE_MAKE_JOBS</code> enabled - <code>MAKE_JOBS_NUMBER</code> is set to 4 in this test, double the number of cores in the machine.


Line 60: Line 74:
PERL_VERSION=5.8.9
PERL_VERSION=5.8.9
</pre>
</pre>




Line 67: Line 80:
real    339m
real    339m
</pre>
</pre>
(from memory, I don't have the rest of it)
(From memory, I don't have the rest of it)
 
== Conclusion ==
From 378 minutes to 343 minutes, or 35 minutes saved. Not bad.

Revision as of 12:19, 17 April 2010

This is a test of the difference in port building speed with and without FORCE_MAKE_JOBS in /etc/make.conf. There is a whole lot of ports installed on this machine (X + applications like Firefox and OpenOffice):

[tykling@tyklappy ~]$ pkg_info | wc -l
    440

The machine is a Lenovo X301 with a solid-state disk and the following CPU and RAM:

[tykling@tyklappy ~]$ grep "l memory" /var/run/dmesg.boot 
real memory  = 6442450944 (6144 MB)
avail memory = 6066290688 (5785 MB)
[tykling@tyklappy ~]$ grep CPU: /var/run/dmesg.boot 
CPU: Intel(R) Core(TM)2 Duo CPU     U9600  @ 1.60GHz (1602.39-MHz K8-class CPU)

The machine is configured with ZFS and is running great with X, everything seems to work. I've posted a dmesg [here].

Testing

This is the command I run to rebuild all ports (except for portmaster):

portmaster --no-confirm -afB -x portmaster

Test 1

First test is a build with the default settings.

/etc/make.conf:

# added by use.perl 2010-04-13 22:07:18
PERL_VERSION=5.8.9


Resultat:

real    378m53.008s
user    403m40.086s
sys     99m14.101s

Test 2

Second test is with FORCE_MAKE_JOBS enabled - MAKE_JOBS_NUMBER is set to 2 in this test, which would have been the default if I had not set MAKE_JOBS_NUMBER since there is two cores in the machine I am running this on.

/etc/make.conf:

FORCE_MAKE_JOBS=YES
MAKE_JOBS_NUMBER=2

# added by use.perl 2010-04-17 03:07:25
PERL_VERSION=5.8.9


Resultat:

real    343m5.886s
user    405m43.557s
sys     98m56.720s


Test 3

Third test is with FORCE_MAKE_JOBS enabled - MAKE_JOBS_NUMBER is set to 4 in this test, double the number of cores in the machine.

/etc/make.conf:

FORCE_MAKE_JOBS=YES
MAKE_JOBS_NUMBER=4

# added by use.perl 2010-04-17 03:07:25
PERL_VERSION=5.8.9


Resultat:

real    339m

(From memory, I don't have the rest of it)

Conclusion

From 378 minutes to 343 minutes, or 35 minutes saved. Not bad.