WYNIKI TESTU athlon vs. i686-gcc3 vs. i686-gcc3

Filip Kalinski fk181140 w zodiac.mimuw.edu.pl
Pon, 18 Lut 2002, 19:03:52 CET


Metodologia

Maszyną testową był Duron 900 z 384 MB RAMu. Dla wyeliminowania wpływu
opracji dyskowych + systemu plików test był dokonywany w katalogu /dev/shm
z zamontowanym tmpfs (tzn. pliki znajowały się w pamięci opracyjnej).
Na tmpfs przydzielony było 280MB, co daje 112MB pamięci opracyjnej.

Do każdego testu instalowane były glibc, gcc, make, bzip2 orar gzip
skompilowane dla odpowiedniej architektury (przez gcc2, lub gcc3). Dodatkowo
używane było odowiadające testowi jądro linuksa 2.4.18-pre7.

Testu odbywały się na nieobciążnonym systemie (jedyne procesy to syslog-ng
oraz klogd) od razu po restarcie systemu.

-----------------------------------------------------------------------------

Skrypt testowy

#!/bin/sh

TIME='/usr/bin/time -p'
BASE=`pwd`
PROG=linux-2.4.16

cp $PROG.tar.bz2 /dev/shm
cd /dev/shm
$TIME -o $BASE/bzip2.time bzip2 -d $PROG.tar.bz2 >/dev/null
tar -xf $PROG.tar >/dev/null
rm -f $PROG.tar
cp $BASE/.config linux/
cd linux
make oldconfig >/dev/null
$TIME -o $BASE/depend.time make depend >/dev/null
$TIME -o $BASE/bzImage.time make bzImage >/dev/null 2>&1
make mrproper >/dev/null
cd ..
tar -cf $PROG.tar linux >/dev/null
rm -rf linux
$TIME -o $BASE/gzip.time gzip $PROG.tar >/dev/null
rm -f $PROG.tar.gz
cd $BASE

------------------------------------------------------------------------------

Wyniki:

----------------------------------------------
|         |   athlon | i686-gcc3 | i686-gcc2 |
|--------------------------------------------|
|bzip2    |    40.10 |     39.13 |     38.74 |
|depend   |    19.87 |     20.09 |     20.68 |
|bzImage  |   378.33 |    380.55 |    380.14 |
|gzip     |    29.46 |     30.74 |     30.14 |
----------------------------------------------

I porównaie o ile szybkości (ile razy szybszy jest athlon, w %/)

----------------------------------------------
|         |   athlon | i686-gcc3 | i686-gcc2 |
|--------------------------------------------|
|bzip2    |   100.00 |     96.91 |     97.58 |
|depend   |   100.00 |    104.08 |    101.11 |
|bzImage  |   100.00 |    100.48 |    100.59 |
|gzip     |   100.00 |    102.31 |    104.34 |
----------------------------------------------

W przypadku depend, bzImage i gzip prowadzi (aczkolwiek) nieznacznie athlon.
Warto zauwazyć, że w przypadku bzImage i gzip, mimo, że kompilacja gcc3 nieco
pogoszyła wyniki w tych testach.

Dziwi jedynie wynik testu bzip2, gdzie najlepiej wypada i686-gcc2, a najgorzej
(sic!) athlon.

Wydaje mi się, że ze względu na przyrost szybokości do 5% w niektórych testach
warto spróbować z portem "athlon".
Poza tym widać też, że nie ma co się bać przejścia na gcc 3.0.3, daje on
bowiem kod porównywalny z gcc 2.95.4.

-- 
Filip Kaliński <f.kalinski w zodiac.mimuw.edu.pl>



Więcej informacji o liście dyskusyjnej pld-devel-pl