[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Poor performance of G5 on GNOME's CPU benchmarks.

Charles Plessy wrote:
Le Tue, Aug 05, 2008 at 04:26:27PM +0200, Michel Dänzer a écrit :
On Tue, 2008-08-05 at 23:17 +0900, Charles Plessy wrote:

Another example I have is a map website by Yahoo Japan:
With Iceweasel it is slow on G5 and fluid on Intel.
With the same graphics card and drivers?

Good point.

A last example to explain the feeling of slowness: aptitude. To avoid
differences in package lists, I ran `aptitude full-update' in an up to
date sid cowbuilder (yes, there can be smarter system for benchmark, but
on the other hands we can expect some kind of standardness). On a dual
2GHz G5, the command takes around 4.1 seconds to complete. On a Core2Duo
2 GHz (amd64), it takes around 1.5 seconds.

If you want to factorize out pure cpu/memory performance versus video performance, you'd have to make sure the commands you're trying don't trigger any screen output.

Run something like:

LOGFILE=`tempfile`; time $your_command > "$LOGFILE" 2>&1

(Or, to make sure there's no difference if one of your systems have /tmp on tmpfs and the other doesn't, run

time $your_command > /dev/null 2>&1


With my lack of technical knowledge, I am obviously going nowhere. But I
hope that I can trigger the curiosity of somebody who would eventually
find "someting missing" in the default config of powerpc machines…

Have a nice day,

Some ideas:

- check whether cpu frequency scaling works, i.e. you're not always running on a lower than maximal cpu frequency. (How?: this works on my x86_64 machine:

$ grep -i mhz /proc/cpuinfo

Or, better:

$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

(as root):

# cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq

and to set it manually to "performance" mode:

# for f in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do echo performance > "$f"; done


- a simple cpu benchmark I'm often using for quick checks is:
(this is on a Core 2 duo at 2.5 Ghz, with perl 5.10.0-11.1 from lenny)

chris@novo:~$ time perl -we 'for(1..10000000) { $z++ } print "$z\n"'

real    0m0.607s
user    0m0.604s
sys    0m0.004s
chris@novo:~$ time perl -we 'defined(fork) or die; for(1..10000000) { $z++ } print "$z\n"; wait'

real    0m0.766s
user    0m0.768s
sys    0m0.000s

chris@novo:~$ time perl -we 'defined(fork) or die; defined(fork) or die; for(1..10000000) { $z++ } print "$z\n"; wait; wait'

real    0m1.286s
user    0m2.536s
sys    0m0.000s

Obviously this is also a little dependent on the Perl version but that factor shouldn't make more than maybe 10% of a difference. And Perl *might* also be tuned better for x86{,_64} than ppc, of course -- but on G3 machines this gave very comparable numbers for me (I did not see much of an advantage for the x86 architecture).

Also make sure your system isn't running any background jobs, of course; check with top. BTW if you press "1" in top you'll see the load on each cpu separately.


Reply to: