← Back to team overview

linuxdcpp-team team mailing list archive

[Bug 600806] [NEW] (Open)Solaris doesn't use x64 TTH code

 

Public bug reported:

Using rev 374, OpenSolaris b134.

TigerHash.cpp, chunk of code from line 26:

#ifdef _WIN32
#if defined(_M_X64)
#define TIGER_ARCH64
#endif
#if !(defined(_M_IX86) || defined(_M_X64))
#define TIGER_BIG_ENDIAN
#endif
#else // _WIN32
#if defined(__x86_64__) || defined(__alpha)
#define TIGER_ARCH64
#endif
#if !(defined(__i386__) || defined(__x86_64__) || defined(__alpha))
#define TIGER_BIG_ENDIAN
#endif
#endif // _WIN32

Apparently none of that matches my OSol box, and we end up using the
slower 32-bit code.

If I add another line just forcing "#define TIGER_ARCH64", I get much
better hashing speed. Using the normal code, I get around 58MB/s, with
that define added, more like 81MB/s. Still not great, but its something.

** Affects: linuxdcpp
     Importance: Undecided
         Status: New

-- 
(Open)Solaris doesn't use x64 TTH code
https://bugs.launchpad.net/bugs/600806
You received this bug notification because you are a member of LinuxDC++
Team, which is subscribed to LinuxDC++.

Status in Linux DC++: New

Bug description:
Using rev 374, OpenSolaris b134.

TigerHash.cpp, chunk of code from line 26:

#ifdef _WIN32
#if defined(_M_X64)
#define TIGER_ARCH64
#endif
#if !(defined(_M_IX86) || defined(_M_X64))
#define TIGER_BIG_ENDIAN
#endif
#else // _WIN32
#if defined(__x86_64__) || defined(__alpha)
#define TIGER_ARCH64
#endif
#if !(defined(__i386__) || defined(__x86_64__) || defined(__alpha))
#define TIGER_BIG_ENDIAN
#endif
#endif // _WIN32

Apparently none of that matches my OSol box, and we end up using the slower 32-bit code.

If I add another line just forcing "#define TIGER_ARCH64", I get much better hashing speed. Using the normal code, I get around 58MB/s, with that define added, more like 81MB/s. Still not great, but its something.





Follow ups

References