cpu usage way too high (?)

thomasg thomas at gstaedtner.net
Sun Feb 1 17:12:56 CET 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).

More information about the hardware mailing list