Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Thank You for your continued support and contributions!

+  Rockbox Technical Forums
|-+  Rockbox Development
| |-+  Starting Development and Compiling
| | |-+  Arm Asm memcpy progress
« previous next »
  • Print
Pages: [1]

Author Topic: Arm Asm memcpy progress  (Read 3853 times)

Offline TP Diffenbach

  • Member
  • *
  • Posts: 62
Arm Asm memcpy progress
« on: July 08, 2006, 12:29:16 PM »
I've been working on an assembly language memcpy in ARM assembly for ipod targets; currently it is faster on large copy lengths (the slope of the line is less, meaning the absolute difference gets better an better the longer the copy length) than either the linux kernel's or uclinix's memcpy. (And faster than the C memcpy we currently use.)

For all copy lengths, the absolute speed is always lower than the linux kernel's memcpy.

For word aligned data or same aligned data (same aligned: dst | 3 ! = 0 && dst | 3 == src | 3 ), the absolute speed is also always less than or only negligibly higher than uclinux's (and considerably less as we reach longer copy lengths). But uclinux's memcpy has a faster absolute speed for mixed aligned data (dst | 3 != src | 3 ) when the copy length is < ~64 bytes.

My worry is that short copy lengths will predominate for mixed aligned data.

So this is the good news:


And this is the bad news (this is the same graph, showing only copy lengths from 0-64):


Here's the bad news, isolating only the unaligned copies:

All times are in microseconds (millionths of a second) for 100 calls to each function. The X axis is bytes copied (that is, just the third argument to memcpy)
Logged
Note: My use of rockbox tends to be limited to just playing music; I don't use fancy themes, or graphic equalizers, or playlists, or most plugins. So I may not notice when those things don't work, or if a patch of mine interferes with those things; if so, point that out to me.

Offline Tiennou

  • Member
  • *
  • Posts: 19
Re: Arm Asm memcpy progress
« Reply #1 on: July 09, 2006, 06:01:09 PM »
Great work!  :)
Logged

  • Print
Pages: [1]
« previous next »
+  Rockbox Technical Forums
|-+  Rockbox Development
| |-+  Starting Development and Compiling
| | |-+  Arm Asm memcpy progress
 

  • SMF 2.0.19 | SMF © 2021, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.086 seconds with 22 queries.