1 |
This post is not a question or a request for help - I hope you find it interesting or informative. |
2 |
|
3 |
Whilst building wireless-tools today, I noticed for the first time the multicall USE flag. |
4 |
|
5 |
`euses multicall` says: |
6 |
|
7 |
net-misc/dropbear:multicall - Build all the programs as one little binary (to save space) |
8 |
net-wireless/wireless-tools:multicall - Build the most commonly used tools as one binary |
9 |
|
10 |
I thought I'd see whether this was generally a worthwhile and efficient USE flag to choose, so I had a google. |
11 |
|
12 |
Flameyes has written a blog post on the subject - it doesn't answer that question, but you may like to read it: |
13 |
http://blog.flameeyes.eu/2009/10/multicall-binaries |
14 |
|
15 |
So I decided to try this package for myself, with and without, the USE flag set: |
16 |
|
17 |
# for foo in iwconfig iwlist iwpriv iwgetid ; do bar=`which "$foo"` ; ls -lgh "$bar" ; done |
18 |
-rwxr-xr-x 1 root 82K Feb 14 04:23 /sbin/iwconfig |
19 |
lrwxrwxrwx 1 root 8 Feb 14 04:23 /sbin/iwlist -> iwconfig |
20 |
lrwxrwxrwx 1 root 8 Feb 14 04:23 /sbin/iwpriv -> iwconfig |
21 |
lrwxrwxrwx 1 root 8 Feb 14 04:23 /sbin/iwgetid -> iwconfig |
22 |
# |
23 |
# for foo in iwconfig iwlist iwpriv iwgetid ; do bar=`which "$foo"` ; ls -lgh "$bar" ; done |
24 |
-rwxr-xr-x 1 root 26K Feb 14 04:28 /sbin/iwconfig |
25 |
-rwxr-xr-x 1 root 30K Feb 14 04:28 /sbin/iwlist |
26 |
-rwxr-xr-x 1 root 14K Feb 14 04:28 /sbin/iwpriv |
27 |
-rwxr-xr-x 1 root 9.5K Feb 14 04:28 /sbin/iwgetid |
28 |
# |
29 |
|
30 |
The above is from my PPC, I've checked on x86_64 and the results are similar - it makes little difference, although on x86_64 I found the individual binaries a little larger (92K) than the multicall one (83K). |
31 |
|
32 |
AMD Athlon(tm) II Neo K325 Dual-Core Processor |
33 |
CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer" |
34 |
|
35 |
eMac G4 PPC 1ghz |
36 |
CFLAGS="-O2 -mcpu=powerpc -mtune=powerpc -fno-strict-aliasing -pipe" |
37 |
|
38 |
I hope you find this information helpful, and it saves you the effort of messing around with multicall yourself. |
39 |
|
40 |
I don't wish to make an authoritative statement but I don't think this USE flag is useful enough, in the general case, to bother messing with. I'm sure it may be useful on embedded systems. |
41 |
|
42 |
Stroller. |