Rockbox

  • Status Closed
  • Percent Complete
    0%
  • Task Type Patches
  • Category
  • Assigned To No-one
  • Operating System
  • Severity Low
  • Priority Very Low
  • Reported Version
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by amiconn - 2004-03-16
Last edited by amiconn - 2004-04-15

FS#2072 - Significantly faster memcmp() in assembler

This patch also needs patch #917153 for the updated
Makefile in “firmware”.

Features of the new memcmp():

- 40..80% faster for small blocks (0..2 bytes)
- 2x to 9x as fast for large blocks (depends on alignment)
- 18 bytes longer

For detailed timing info see open office spreadsheet
attached to patch #917153.

Closed by  amiconn
2004-04-15 00:16
Reason for closing:  
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

Logged In: YES
user_id=988982

Closed this myself as I think it is pretty useless, for the
following
reasons:
- memcmp() is used only in very few places
- my assembler routine is quite a bit larger

If later somebody decides that it would be useful, the patch
will still be there.

- Oops, this wasn’t commented at all. Fixed.
- Shortened by 2 bytes (stupid thinking)
- Timing info (spreadsheet in patch #917153) was erroneously
given for the (unlikely) case that both memory areas are in
the same DRAM page. Re-done all timings for memcmp(). So,
the relations change a bit:
- 40..55 % faster for small blocks (0..2 bytes)
- 1.4x to 6,7x as fast for large blocks

Closed this myself as I think it is pretty useless, for the
following
reasons:
- memcmp() is used only in very few places
- my assembler routine is quite a bit larger

If later somebody decides that it would be useful, the patch
will still be there.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing