Rockbox

  • Status Closed
  • Percent Complete
    100%
  • Task Type Patches
  • Category Codecs
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Release 3.8.1
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by Buschel - 2011-05-13
Last edited by Buschel - 2011-05-15

FS#12113 - Use more IRAM for asap/spc/nsf

During 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.

Closed by  Buschel
2011-05-15 16:09
Reason for closing:  Accepted
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

Submitted with r29883, r29886 and r29887.

Some measures for patch v04 on an iPod Video:
nsf: nearly twice as fast now, nevertheless still faaar away from realtime (~11 times on the iPod Video)
sap: ~10% faster
spc: ~5% faster

On my e200v1 I get 44.45MHz (svn) and 42.51MHz (patch).

New version which does some CPU-specific configuration. This compiles for iPod 3G (PP5002), iPod Video (PP5022) and iPod nano 2G (S5L870x). The patch will need compilation and performance testing on other CPUs – especially Coldfire MCF5249 and MCF5250.

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%

Test files attached.

MikeS commented on 2011-05-14 20:52

My results

SVN r29864 / w/ FS#12113 

H100 (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. :\

MikeS commented on 2011-05-14 21:28

New Results

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%)

The above test was based on this 7b-version.

Here are a few results from the PP front, SVN r29879/ Patch 7b

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 %)

This version disables further IRAM usage in the spc codec for PP5020. This seems to be the fastest configuration for this CPU and is the same as svn.

Another change was neccessary for spc to keep svn's IRAM configuration.

ASAP and NSF have been submitted, resync patch.

Test by amiconn: SPC: 47.97 MHz, 110,93 s on PP5020 with patch v10

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing