Subject: Floating point performance

From: Matej Kupljen <[email-masked]>
Date: Tue, 27 Sep 2005 10:17:07 +0200

Hi

I've built soft float toolchain (with crosstool) and then build
MPlayer with it. The performance is very low. I cannot even
play the mp3 file with MPlayer on DBAU1200 with 400MHz CPU!

I used
GCC: 3.3.5
GLIBC: 2.3.5
BINUTILS: 2.16.1

I did some profiling and this is what I get:
-----------------------------------------------------------------------------------
Flat profile:

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls   s/call   s/call  name    
 18.09     44.70    44.70                             __pack_f
 17.30     87.44    42.74                             _fpadd_parts
 15.82    126.54    39.10                             __mulsf3
 15.28    164.31    37.77                             __unpack_f
  6.49    180.36    16.05                             _fpadd_parts
  5.30    193.45    13.09    17424     0.00     0.00  dct64_1
  4.75    205.18    11.73                             __subsf3
  4.04    215.16     9.98                             __addsf3
  3.68    224.26     9.10    17424     0.00     0.00  synth_1to1
  1.90    228.96     4.70                             __pack_d
  1.20    231.92     2.96                             __unpack_d
  1.17    234.80     2.88                             __muldf3
-----------------------------------------------------------------------------------

As it seems, all the time is spent in the FP routines. 
I decided to use SF toolchain, because they should be faster
then FPU emulator (at least it is on ARM), but did no test
this with emulator.

Does anybody use MPlayer on MIPS? 
What performance do you get?
Any other suggestions?

BR,
Matej

---

From: Jerry <[email-masked]>
Date: Tue, 27 Sep 2005 11:42:08 +0300

>[In reply to "Floating point performance" from Matej Kupljen <[email-masked]> to [email-masked] <[email-masked]>  27.09.2005 11:17]

> then FPU emulator (at least it is on ARM), but did no test

Decoding of mp3 (and/or other media) with FP routines is extremely
slow on systems w/o fp processor. No matter is it "soft-float" or
"kernel-trap emulator". Both cases it is the emulator.(but SF is a
litthe faster because it has no "trap" overhead).

> What performance do you get?

I used mplayed with libmad (libmad uses only integer ops to decode
mp3). It consumes about 10-15% of cpu time (au1200) to play mp3 file.

   ()_()
 -( ^,^ )- -[21398845]- -<The Bat! 3.51.10>- -<27.09.2005 11:33>-
  (") (")