FS#12113 - Use more IRAM for asap/spc/nsf
Attached to Project:
Rockbox
Opened by Andree Buschmann (Buschel) - Friday, 13 May 2011, 22:10 GMT
Last edited by Andree Buschmann (Buschel) - Sunday, 15 May 2011, 16:09 GMT
Opened by Andree Buschmann (Buschel) - Friday, 13 May 2011, 22:10 GMT
Last edited by Andree Buschmann (Buschel) - Sunday, 15 May 2011, 16:09 GMT
|
DetailsDuring measurements of the memory layout of the aac-decoder I recognized that several of our codecs do merely use IRAM (see http://www.rockbox.org/wiki/CodecMemoryUsage) -- at least on iPod Video.
The attached patch moves several arrays to to IRAM. It would be great if somebody with some test file for those format could make a performance test. Maybe it is also possible to attach small samples to this flyspray entry. |
This task depends upon
Closed by Andree Buschmann (Buschel)
Sunday, 15 May 2011, 16:09 GMT
Reason for closing: Accepted
Additional comments about closing: Submitted with r29883, r29886 and r29887.
Sunday, 15 May 2011, 16:09 GMT
Reason for closing: Accepted
Additional comments about closing: Submitted with r29883, r29886 and r29887.
nsf: nearly twice as fast now, nevertheless still faaar away from realtime (~11 times on the iPod Video)
sap: ~10% faster
spc: ~5% faster
Performance on an iPod Video (svn / v07) with my samples
Tetris.nsf: 1713 MHz / 881 MHz => +94%
Ghostbusters.sap: 6.78 MHz / 5.91 MHz => +15%
Dragon1.spc: 48.16 MHz / 45.55 MHz => +6%
Performance gains on iPod nano 2G look similar:
Tetris.nsf: 1448 MHz / 829 MHz => +75%
Ghostbusters.sap: 8.86 MHz / 7.63 MHz => +16%
Dragon1.spc: 38.30 MHz / 36.61 MHz => +5%
========
SVN r29864 / w/
FS#12113H100 (MCF5249):
Dragon01.spc: 77.06MHz / 77.09MHz (-0.04%)
Ghostbusters.sap: 19.28MHz / 8.94MHz (+115.65%)
Tetris-Tengen.nsf: 1536.95MHz:259.87s /1542.52MHz:261.25s (-0.53%)
X5 (MCF5250):
Dragon01.spc: 77.33MHz / 86.62MHz (-12.01%)
Ghostbusters.sap: 19.36MHz / 8.99MHz (+115.35%)
Tetris-Tengen.nsf: 1546.52MHz:261.25s / 2406.69MHz:406.82s (-55.72%)
Yes, it was boosted. I even ran the x5 ones twice and double-checked everything. :\
==========
SVN / Pastbin patch:
X5 (MCF5250):
Dragon01.spc: 77.33MHz / 77.35MHz (-0.03%)
Ghostbusters.sap: 19.36MHz / 9.00MHz (+115.11%)
Tetris-Tengen.nsf: 1546.52MHz:261.25s / 1498.01MHz:253.07s (+3.23%)
(the one in the previous post should have been -35.78%)
iPod 2nd Gen (PP5002):
Dragon 01.spc: 48.89 MHz, 113.07 s / 48.89 MHz, 113.08 s (± 0)
Ghostbusters.sap: 11.46 MHz, 30.07 s / 10.11 MHz, 26.52 s (+13.4 %)
Tetris-Tengen.nsf: 2749.14 MHz, 720.07 s / 1026.95 MHz, 269.37 s (+167.7 %)
iPod Color (PP5020):
Dragon 01.spc: 48.23 MHz, 111.55 s / 52.92 MHz, 122.38 s (-8.8 %) <==
Ghostbusters.sap: 6.89 MHz, 18.09 s / 6.54 MHz, 17.16 s (+5.4 %)
Tetris-Tengen.nsf: 1731.60 MHz, 454.05 s / 1125.17 MHz, 295.01 s (+53.9 %)