freevec.org

  • about
  • benchmarks
Home › libfreevec 1.0.4 benchmarks updated!

Search

Primary links

  • About
    • History of libfreevec
  • Benchmarks
    • libfreevec

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





memrchr()

markos — Wed, 05/03/2008 - 21:18

Description

According to the man page, the memrchr() function is like the memchr() function, except that it searches backwards from the end of the n bytes pointed to by s instead of forwards from the front. It return a pointer to the matching byte or NULL if the character does not occur in the given memory area. The memrchr() function is a GNU extension, available only in glibc.

The same comments from memchr() apply here.

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

There is no asm version of memrchr() for any of the CPUs in glibc, so we're measuring comparison between the same compiled version on all CPUs here. The Athlon is up to 40% faster than the G5 version, however once Altivec kicks in, both the G5 and MPC8610 are much faster than the Athlon, and -surprisingly- the MPC8610 is also faster than the G5 itself by a large margin! Perhaps this has to do with the more powerful AltiVec unit in the MPC8610. The same comments about inconsistency in the unaligned cases in the x86 version apply here as well.

SIMD

  • AltiVec
  • libfreevec
  • String searching
‹ mempcpy() up memset() ›
  • Login or register to post comments

SIMD

  • Algorithms (31)
    • Algebra (9)
      • Matrix operations (8)
    • Bit operations (0)
    • Codecs (0)
      • Audio (0)
      • Video (0)
    • Comparison (0)
      • image comparison (0)
      • Levenshtein (0)
    • Compression (0)
      • Bzip2 (0)
      • Gzip (0)
      • LZMA (0)
      • LZW (0)
      • Squashfs (0)
      • Zlib (0)
    • Encryption (0)
      • AES (0)
      • DES (0)
      • RSA (0)
      • Salsa (0)
      • SSL (0)
    • Hashing (1)
      • CRC (0)
      • TCP/IP checksum (0)
      • UMAC (0)
    • Memory operations (15)
    • Multiprecision (0)
    • Searching (5)
      • String searching (5)
    • Sorting (0)
  • Software (32)
    • Benchmarking (2)
    • Libraries (30)
      • Eigen2 (0)
      • libfreevec (22)
      • simdX86 (8)
  • Architecture (32)
    • AltiVec (32)
    • ARM NEON (0)
    • CELL SPU (0)
    • SSE (0)
    • VIS (0)

User login

  • Create new account
  • Request new password
  • 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.