Gentoo Archives: gentoo-user

From: Pandu Poluan <pandu@××××××.info>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: Gentoo speed comparison to other distros
Date: Fri, 15 Mar 2013 03:21:06
Message-Id: CAA2qdGXvh3u_r7vCFx7j1Mf4-jtFWT3RyYKmhSaTes6=vkD9pg@mail.gmail.com
In Reply to: Re: [gentoo-user] Re: Gentoo speed comparison to other distros by Mateusz Kowalczyk
1 On Mar 15, 2013 7:31 AM, "Mateusz Kowalczyk" <fuuzetsu@×××××××××××.uk>
2 wrote:
3 >
4 > On 14/03/13 23:52, Dale wrote:
5 > > Mateusz Kowalczyk wrote:
6 > >> On 14/03/13 22:41, Dale wrote:
7 > >>> Grant Edwards wrote:
8 > >>>> On 2013-03-14, Dale <rdalek1967@×××××.com> wrote:
9 > >>>>
10 > >>>>> I was wondering. Has anyone ever seen where a test as been done to
11 > >>>>> compare the speed of Gentoo with other distros? Maybe Gentoo
12 compared
13 > >>>>> to Redhat, Mandrake, Ubuntu and such?
14 > >>>> I just did a test, and they're all the same.
15 > >>>>
16 > >>>> CDs/DVDS of various distros dropped from a height of 1m all hit the
17 > >>>> floor simultaneously [there are random variations due to aerodynamic
18 > >>>> instability of the disk shape, but it's the same for all distros]. If
19 > >>>> launched horizontally with spin to provide attitude stability (thrown
20 > >>>> like a frisbee), they all fly the same.
21 > >>>>
22 > >>>> The point being, you're going to have to define "speed".
23 > >>>>
24 > >>>> Does speed refer to
25 > >>>>
26 > >>>> Installation time?
27 > >>>>
28 > >>>> Boot time?
29 > >>>>
30 > >>>> Linpack?
31 > >>>>
32 > >>>> Dhrystone?
33 > >>>>
34 > >>>> Whetstone?
35 > >>>>
36 > >>>> Time for me to figure out how to fix a configuration problem?
37 > >>>>
38 > >>>> Time to do to an update on a machine that's been unplugged for a
39 year?
40 > >>>>
41 > >>>> Time to to produce a packaged version of some random C program that
42 > >>>> comes with a Makefile that uses autotools?
43 > >>>>
44 > >>>> Time for a reported bug to get fixed?
45 > >>>>
46 > >>>
47 > >>> OK. It appears not very many can figure out what I asked for. So,
48 let
49 > >>> me spell it out for those who are challenged. LOL ;-) Read some
50 > >>> humor into that OK.
51 > >>>
52 > >>> Install a OS. Run tests on a set of programs and record the time it
53 > >>> takes to complete a certain task. More tasks the better.
54 > >>>
55 > >>> Then install another OS on the same hardware. Run tests on a set of
56 > >>> programs and record the time it takes to complete a certain task.
57 More
58 > >>> tasks the better.
59 > >>>
60 > >>> The object of this is, does Gentoo with the customization it allows
61 run
62 > >>> faster than some binary install that does NOT allow those controls?
63 In
64 > >>> other words, can a Gentoo based install perform more efficiently than
65 a
66 > >>> binary based install like Redhat, Ubuntu or some other distro?
67 > >>>
68 > >>> I am NOT concerned about compile times or the install itself.
69 > >>>
70 > >>> Does that put the dots closer together for the challenged ones? ROFL
71 > >>>
72 > >>> Dale
73 > >>>
74 > >>> :-) :-)
75 > >>>
76 > >> The point of the challenged ones was that while we can take
77 measurements
78 > >> like these, it's rather meaningless to do so. The result will be
79 > >> different for every single person out there depending on their
80 > >> configuration, USE, CFLAGS and who knows what else.
81 > >>
82 > >> I can compile a package with support for 3 different DEs, few WMs, oss
83 > >> and alsa and about a billion things I will never use. Does this make
84 for
85 > >> a more or less of a meaningful test than doing the same test with no
86 > >> flags what so ever? There is no correct answer as it varies per user
87 > >> basis. The most meaningful measurements that we can probably take would
88 > >> be between different USE flags configurations. Maybe we can say that
89 > >> package ‘foo’ with certain USE and CFLAGS runs in less average time
90 than
91 > >> the same package on a distro Bar.
92 > >>
93 > >> In my opinion, it would be far more meaningful to measure the effect of
94 > >> different USE flags on the same package, *in relative time* on the same
95 > >> system. This would give us more idea about the impact of each flag as
96 > >> opposed to a very limited view of ‘package foo with certain specific
97 USE
98 > >> flags runs 10ms faster than the same package on the same hardware on a
99 > >> binary distribution’. If you still want such measurements and you want
100 > >> them to be somewhat meaningful to you, it is you who will have to take
101 > >> them. Unless there are some gross inconsistencies in run times on
102 > >> different distributions, we have no use for such measurement.
103 > >>
104 > >> Everyone understood what you asked for. It's _you_ that misunderstood
105 > >> their explanation for why it's meaningless to ask such a question in
106 the
107 > >> first place.
108 > >>
109 > >
110 > > I didn't miss anything. I get what some are saying. The reason for my
111 > > question is this. Gentoo allows a person to customize the OS to the
112 > > specific hardware it is being run on. Redhat and other binary distros
113 > > don't allow this, unless you compile your own packages which is no
114 > > longer really a binary install.
115 > >
116 > > So, if I install Redhat on my machine, would it be less efficient than
117 > > my Gentoo install which is customized for my hardware? Has someone else
118 > > tested this and made it public?
119 > >
120 > > If people can't get this, never mind.
121 > >
122 > > Dale
123 > >
124 > > :-) :-)
125 > >
126 >
127 > I don't think that it's plausible to take such measurement. We could set
128 > every USE flag possible for the package we are benchmarking to try and
129 > replicate the support for everything that the binary package is likely
130 > to have. We also have to do this for all its dependencies (and their
131 > dependencies and so on) to have nothing that could potentially influence
132 > the measurement. Assuming that portage complies with this (it won't), we
133 > compile the package with optimizations for our hardware. The result? We
134 > probably have the same result on Gentoo and the other distro.
135 >
136 > Why? The reason is simple: binary distributions provide packages
137 > compiled with optimizations turned on for specific architectures. Unless
138 > you are doing some unheard of optimizations for your obscure model of
139 > the CPU, I don't imagine you'd get much advantage at all. If the
140 > maintainer of the binary package compiles it with optimizations for an
141 > i7 and you do the same, why should the performance be different?
142 >
143 > If you install RedHat on your machine, it probably will be less
144 > efficient than Gentoo but for a different reason. It won't be
145 > (noticeably) more efficient because you've got your CFLAGS set in a
146 > particular way but it because you only install the packages you actually
147 > want and remove support for things you don't need. Why bloat a package
148 > and waste cycles having it try to poll a service you might never
149 > actually use? Gentoo lets you get rid (or never install in the first
150 > place) of this kind of… bloat while you don't have much choice on a
151 > binary package short of compiling everything by hand at which point you
152 > should be using Gentoo to do it for you.
153 >
154 > RedHat maintainers aren't stupid (you can probably tell I've never used
155 > RH) – they will release packages optimized for architectures they will
156 > run on. Overall you might get very slight performance boost because of
157 > some CFLAG you enable but you might as well have worse performance
158 > because you don't know as much about optimizations as the RH maintainers
159 > and developers. Bah, you can even find examples on Gentoo wiki where
160 > compiling certain packages with certain flags actually makes them slower
161 > and not faster where usually the opposite is the case.
162 >
163 > --
164 > Mateusz K.
165 >
166
167 AFAIK, binary distros have only two kinds of targets for Intel/AMD
168 processors: x86 or amd64.
169
170 I think most binary distros set their -march or -mtune to nothing newer
171 than a Pentium Pro (x86 case) or Pentium 4 (amd64 case). This means, newer
172 generation instruction sets are not used.
173
174 Of course, the amount (%) of code that can be optimized is very small
175 compared to the rest of the code. On most programs, there will be no
176 benefit of mtune/march to a specific processor.
177
178 However, if you happen to frequently use a program whose major processing
179 time happens to be optimizable with the newer instructions, you hit a
180 jackpot.
181
182 TL;DR : Just like everybody say, Gentoo might be faster, but depends
183 totally on the jobs one do on it. On majority of cases, the faster speed is
184 totally inconsequential.
185
186 Rgds,
187 --