PDA

View Full Version : Windows client faster in Linux shocka!



pixl97
11-01-2004, 05:11 PM
Want to sieve faster on your linux box, run the windows client with wine!

This is in linux on my XP2500+

model name : AMD Athlon(tm) XP 2500+
stepping : 0
cpu MHz : 1837.801
cache size : 512 KB

Heres the native client

./proth_sieve_cmov (v.42)
p = 411898000146929 @ 521kp/s
p = 411898010146939 @ 522kp/s
p = 411898020146939 @ 520kp/s

./proth_sieve_cmov_static (v.42)
p = 411897850146577 @ 524kp/s
p = 411897860146579 @ 523kp/s
p = 411897870146627 @ 521kp/s

Heres the Windows client, running under Wine on the same box.
wine proth_sieve_cmov.exe (v.42)
p = 411897880146647 @ 550kp/s
p = 411897890146723 @ 548kp/s
p = 411897900146753 @ 544kp/s

The Windows client under Wine runs at the same speed it does in Windows XP, The question is, why is the Linux client 20-30kp/s slower?

royanee
11-02-2004, 02:38 AM
To rule out some of my suspicions about what is going on, can someone do the same benchmarks in Gentoo (too see if the optimized compilation has a noticeable effect). I'm in Debian, and Gentoo takes up too much hard disk space for me... poor little 12 gig drive. :(

pixl97
11-02-2004, 01:17 PM
I get the same results on my Opteron 242

Linux storage 2.6.9-rc4 #1 SMP Fri Oct 15 10:54:08 CDT 2004 x86_64 x86_64 x86_64 GNU/Linux


model name : AMD Opteron(tm) Processor 242
stepping : 1
cpu MHz : 1591.701
cache size : 1024 KB

Wine SSE2 Windows


Using Proth mode
Using CMOV optimizations
Using SSE2 optimizations
Initializing... Done.
Sieving 490020040000306 <= p <= 490021000000000, 1014045 <= n <= 19999993
p = 490020050000321 @ 520kp/s
p = 490020060000409 @ 514kp/s
p = 490020070000481 @ 518kp/s

SSE2 Linux native


Using Proth mode
Using CMOV optimizations
Using SSE2 optimizations
Initializing... Done.
Sieving 490020120000660 <= p <= 490021000000000, 1014045 <= n <= 19999993
p = 490020130000673 @ 492kp/s
p = 490020140000683 @ 493kp/s
p = 490020150000713 @ 493kp/s

royanee, Im pretty sure Its not going to make a difference on gentoo... we're all using gcc here, though the Redhat/Fedora kernels have suck mmap latency (2x to 3x higer), thats why I compile my own from the vanilla source. Glibc is the only other library that the sieve would touch and its 686 optimized on my Athlon box.

Its very likely that the windows version is compiled with a different compiler, im guessing the Linux version is built with gcc and the Windows version with the Microsoft or Intel compiler and thats making a difference.

royanee
11-03-2004, 02:31 AM
Originally posted by pixl97
<snip>
Its very likely that the windows version is compiled with a different compiler, im guessing the Linux version is built with gcc and the Windows version with the Microsoft or Intel compiler and thats making a difference.

Thanks. That's what I was thinking beyond the glib optimizations.

Mystwalker
11-03-2004, 09:54 AM
AFAIK, Intel made its Linux compiler freely available for non-commercial use. I'm not sure if it's non-commercial or private, though...

royanee
11-04-2004, 02:51 AM
*nod* I think it's available for download on their website. I was at an Intel presentation at LinuxWorld, and asked the guy about open sourcing it, and he said: "Why would we want to do that? You can use it, and it screams, but that would give away all of our secrets and advantages." Well, I'm quoting poorly, but that's the idea. Sounds like the commercial aspect is quite profitable...