freevec.org

  • about
  • benchmarks
Home › libfreevec 1.0.4 benchmarks updated!

memmove()

markos — Tue, 29/01/2008 - 15:35

Description

According to the man page, memmove() copies n bytes from memory area src to memory area dest. The memory areas may overlap: copying takes place as though the bytes in src are first copied into a temporary array that does not overlap src or dest, and the bytes are then copied from the temporary array to dest. It returns a pointer to dest.

Depending on whether the source and dest blocks overlap or not, memmove() behaves the same to memcpy() or a backwards memcpy() (starting the copy from the end of the block to the start). Due to this simple design, it usually is optimised together with memcpy(). libfreevec provides an AltiVec-optimised version.

Each CPU in detail:

And for comparison here is the result of the same benchmark run on an Athlon X2 5000 (2.5Ghz), running 32-bit code:

Results/Comments

The same comments done in memcpy() apply here.

SIMD

  • AltiVec
  • libfreevec
  • Memory
‹ memfrob() up mempcpy() ›
  • Login to post comments

Primary links

  • About
    • History of libfreevec
  • Benchmarks
    • libfreevec

Search

User login

  • Request new password

Popular tags

Addition Algorithms AltiVec ARM Benchmarking float Inverse libfreevec Matrix Memory Multiply NEON reference Scale SSE String searching Subtraction Translate Transpose Tutorial
more tags

Please donate to libfreevec to ensure its continuing development! Donations are done via Paypal.





  • about
  • benchmarks

Copyright (c)2008 by CODEX.
Powered by Drupal. Using theme Deco.
All Google charts have been created by the CSV Chart and Chart API Drupal modules.