cpu usage way too high (?)

Daniel Spies daniel.spies at fuceekay.com
Sun Feb 1 19:00:50 CET 2009


thomasg <thomas at gstaedtner.net> wrote on Sunday 01 February 2009:
> On Sun, Feb 1, 2009 at 4:16 PM, Nils Faerber
>
> <nils.faerber at kernelconcepts.de> wrote:
> > Daniel Spies schrieb:
> >> Hello,
> >
> > Hi!
> >
> >> I must admit that I am not that deep into hardware. I hope someone could
> >> explain me why things are like this. For example if I do "apt-get
> >> update" I have 100% cpu usage until it's done. Upgrade does the same.
> >>
> >> Recently I tried to play a .ogg file for the first time (also .mp3) and
> >> am really confused about the cpu usage again. I tried to play it in vlc,
> >> but this doesn't work at all. Playing in alsaplayer is nearly
> >> impossible, the song laggs like hell. Only in mplayer (console version)
> >> I can listen to the song. But if I do anything else, like moving a
> >> window or opending any application, writing in xterm make the sound stop
> >> or lag. I can see the cpu usage is at 100% all the time...
> >>
> >> So what my problem is: I used my old 433Mhz (33Mhz more than FR) Celeron
> >> with 128MiB (same as FR) of RAM listening to music, playing games,
> >> downloading and much more all at the same time and didn't have such
> >> lags. So what makes the Freerunner this unresponsive and slow when doing
> >> easy tasks?
> >>
> >> Thank you for enlightening me. :)
> >>
> >> BTW: I'm using Debian with lxde from the install.sh, but with ext3 and a
> >> 1GB (*g*) swap partition on a 8GB (Class6) SD Card (and Qi).
> >
> > Ah, Debian, that may explain it.
> > With standard Debian players you will not have much fun I assume - same
> > is probably true for MP3 BTW. What you need is a player that does not
> > use floating point - this kills performance. What is good on an x86 CPU
> > with explicit FPU inside the CPU is a nightmare on CPUs without FPU like
> > the S3C (ARM). Floating point is only supported by emulation and this is
> > slow.
> > For this reason there are fixed point optimized versions of most codecs
> > around, like madplay for MP3 and Tremor for Ogg.
> > So look for a Tremor plugin/player in Debian or compile one yourself and
> > CPU usage should go down to something like 30-50%.
>
> That's also the reason why your celeron performs much better.
> The Celeron has an FPU, so can do floating point arithmetic in
> hardware, while the Freerunner's CPU has to emulate this in software.
> Also you can't really compare CPUs by MHz over different
> architectures, the CPUs are just not comparable.
>
> However, you can't expect any magic, a arm9 without FPU is just plain
> slow, nothing to do about it.
> Also there are far more limitations not ony by the CPU, also by the
> FR's hardware design. Especially I/O is terribly bad, so you can't
> compare the harddrive in your Celeron machine (which probably does
> 20-40 MB/s) with the SD card in the FR (1-4 MB/s).

Okay, that explains the bad audio playback. I will give Madplay and Tremor a 
try. But if CPUs without FPU are that slow, why should one use them? Is this 
reducing power consumption in some way? Or are ARM CPUs simply smaller? Or 
what is the benefit of ARM over x86 CPUs with explicit FPU inside? From what I 
could read from the net, there are ARM CPUs with FPU inside available, so why 
not taking these?

I don't use that Celeron machine any more, it's like 10 years ago, but the 
hardware specs were (except the architecture) nearly the same. That's why I 
compared them... 

I didn't think about the hard disk issue, as 1-4MB/s still seems fast enough 
for mp3/ogg playback. So I think this  only affecting while facing heavy disk 
I/O...

Thanks for your quick replies! :)

Daniel



More information about the hardware mailing list