Rockbox

  • Status Closed
  • Percent Complete
    0%
  • Task Type Patches
  • Category
  • Assigned To
    hohensoh
  • 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 hohensoh - 2004-03-18

FS#2069 - Way faster memset() and memcpy() in assembler

New memset(), in assembler:

- approx 50% faster for small blocks (0..4 bytes): less

overhead

- 2.2x as fast for long aligned large blocks
- almost 13x as fast for not long aligned large blocks
- 1.9x / 8x for typical 112 byte block
- 28 bytes smaller :)

New memcpy(), in assembler:

- 20..30% fast for small blocks (0..8 bytes): less overhead
- 1,2x to 6.6x as fast for large blocks (depends on source

and destination alignment

- 62 bytes larger :(

Detailed timing test results for both routines can be
found in the attached spreadsheet (open office format).

Closed by  hohensoh
2004-03-18 22:23
Reason for closing:  Accepted

- Shortened memset() by 4 bytes (stupid thinking)
- Corrected same stupid thinking for memcpy() (no shortening
here)
- Updated timing spreadsheet

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing