發信人Venkatesh Srinivas <me@endeavour.zapto.org>,
看板DFBSD_kernel
標 題RE: "Benchmarking BSD and Linux"
發信站(null) (Tue Mar 8 23:29:40 2011)
轉信站ptt!crater_reader.dragonflybsd.org!crater.dragonflybsd.org!127.0.0.1.M
--20cf303f6708f30349049dfe79da
Content-Type: text/plain; charset=UTF-8
Hi,
Recently I came across this site:
http://bulk.fefe.de/scalability/
The author ran a number of microbenchmarks on a then-current Linux and BSD
systems to get an idea of the scalability (or breakdown) of a number of
common and uncommon paths. I just ran the tests on a DragonFly 2.9 (kernel
of 03/04/2011, compiled with gcc 4.4, world of 3/2) 1.5 GHz P4 (willamette)
with 512 MB of RAM. I don't have any comments on the tests themselves, here
are just graphs of the results.
-> The first test from the set I ran was the bind benchmark; this just calls
bind to port 0 on a number of sockets.
http://m-net.arbornet.org/~sv5679/bind4-dfly-03042011.png
(using the same scale as the graph on the original page)
-> The fork benchmark; creates a pipe, forks a number of child processes,
wait for each to write a byte into that pipe; aggregates time between fork
and receiving the byte.
http://m-net.arbornet.org/~sv5679/fork-dfly-03042011.png
(larger vertical scale than fefe.de)
-> The static fork benchmark; same as above, but with a statically linked
process.
http://m-net.arbornet.org/~sv5679/fork-vs-forks-dfly-03042011.png
(larger vertical scale than fefe.de)
-> The mmap benchmark:
http://m-net.arbornet.org/~sv5679/mmap-dfly-03042011.png
(very similar scale)
-> the mmap benchmark part 2 (touching the pages);
http://m-net.arbornet.org/~sv5679/mmap1-dfly-03042011.png
(same scale)
-> Fork cleanup benchmark (in the comments):
http://m-net.arbornet.org/~sv5679/fork-cleanup-latency2-dfly-03042011.png
(same scale)
Overall, our graphs look very similar to the FreeBSD systems tested there
(shapewise; the hardware & values are different and not directly
comparable); our fork() curve is closer to FreeBSD 4's than FreeBSD 5's,
(see
http://bulk.fefe.de/scalability/freebsd/fork-freebsd-current.png and
http://m-net.arbornet.org/~sv5679/fork-dfly-03042011.png).
Just thought that these'd be interesting. Take them with a grain of pepper;
they are microbenchmarks and are measuring things about very specific code
paths.
-- vs
--20cf303f6708f30349049dfe79da
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Hi,<br><br>Recently I came across this site: <a href=3D"
http://bulk.fefe.de=
/scalability/">
http://bulk.fefe.de/scalability/</a><br><br>The author ran a=
number of microbenchmarks on a then-current Linux and BSD systems to get a=
n idea of the scalability (or breakdown) of a number of common and uncommon=
paths. I just ran the tests on a DragonFly 2.9 (kernel of 03/04/2011, comp=
iled with gcc 4.4, world of 3/2) 1.5 GHz P4 (willamette) with 512 MB of RAM=
.. I don't have any comments on the tests themselves, here are just grap=
hs of the results.<br>
<br>-> The first test from the set I ran was the bind benchmark; this ju=
st calls bind to port 0 on a number of sockets.<br><a href=3D"
http://m-net.=
arbornet.org/~sv5679/bind4-dfly-03042011.png">
http://m-net.arbornet.org/~sv=
5679/bind4-dfly-03042011.png</a><br>
(using the same scale as the graph on the original page)<br><br>-> The f=
ork benchmark; creates a pipe, forks a number of child processes, wait for =
each to write a byte into that pipe; aggregates time between fork and recei=
ving the byte.<br>
<a href=3D"
http://m-net.arbornet.org/~sv5679/fork-dfly-03042011.png">http:/=
/m-net.arbornet.org/~sv5679/fork-dfly-03042011.png</a><br>(larger vertical =
scale than <a href=3D"
http://fefe.de">fefe.de</a>)<br><br>-> The static =
fork benchmark; same as above, but with a statically linked process.<br>
<a href=3D"
http://m-net.arbornet.org/~sv5679/fork-vs-forks-dfly-03042011.pn=
g">
http://m-net.arbornet.org/~sv5679/fork-vs-forks-dfly-03042011.png</a><br=
>(larger vertical scale than <a href=3D"
http://fefe.de">fefe.de</a>)<br><br=
>
-> The mmap benchmark:<br><a href=3D"
http://m-net.arbornet.org/~sv5679/m=
map-dfly-03042011.png">
http://m-net.arbornet.org/~sv5679/mmap-dfly-03042011=
..png</a><br>(very similar scale)<br><br>-> the mmap benchmark part 2 (to=
uching the pages);<br>
<a href=3D"
http://m-net.arbornet.org/~sv5679/mmap1-dfly-03042011.png">http:=
//m-net.arbornet.org/~sv5679/mmap1-dfly-03042011.png</a><br>(same scale)<br=
><br>-> Fork cleanup benchmark (in the comments):<br><a href=3D"
http://m=
-net.arbornet.org/~sv5679/fork-cleanup-latency2-dfly-03042011.png">
http://m=
-net.arbornet.org/~sv5679/fork-cleanup-latency2-dfly-03042011.png</a><br>
(same scale)<br><br>Overall, our graphs look very similar to the FreeBSD sy=
stems tested there (shapewise; the hardware & values are different and =
not directly comparable); our fork() curve is closer to FreeBSD 4's tha=
n FreeBSD 5's,=C2=A0 (see <a href=3D"
http://bulk.fefe.de/scalability/fr=
eebsd/fork-freebsd-current.png">
http://bulk.fefe.de/scalability/freebsd/for=
k-freebsd-current.png</a> and <a href=3D"
http://m-net.arbornet.org/~sv5679/=
fork-dfly-03042011.png">
http://m-net.arbornet.org/~sv5679/fork-dfly-0304201=
1.png</a>).=C2=A0 <br>
<br>Just thought that these'd be interesting. Take them with a grain of=
pepper; they are microbenchmarks and are measuring things about very speci=
fic code paths. <br><br>-- vs<br>
--20cf303f6708f30349049dfe79da--