Page 4 of 5 FirstFirst 12345 LastLast
Results 46 to 60 of 65
  1. #46
    Joined
    Jul 2001
    Location
    UK
    Age
    51
    Posts
    20,229

    Re: Benchmarks for linux?

    It would probably be more realistic to run without any optimizations, otherwise all we're really doing is benchmarking how good a job the compiler does in optimizing the code rather than benchmarking how well the system actually performs at running that code.

    Optimizing benchmark code is an interesting topic I've been looking at recently with the seti project. It goes something like this:

    1. Start benchmark
    2. Perform some time consuming work
    3. Output benchmark result

    Now, if (2) is related to (3), ie the result of the time consuming work is required for the output then everything is fine. But if (2) and (3) are unrelated, for example, with our pi code above where pi is calculated and the final output is simply the time taken, then the optimizer could look at the code and say step (2), the time consuming work, has no relevance to the final result and therefore isn't needed so can be optimized out thus making the program run a lot faster. Of course what save the pi example from this type of over-optimization is that it outputs the results of the pi calculations to the console during step (2).

    We recently had a similar situation with Whetstone and Dhrystone benchmarks used by seti whereby the Windows version of the compiler used was over optimizing the code relative to the linux compiler so the same code would achieve benchmark scores twice as high on windows relative to linux on the same hardware. When the source code was changed to stop this from happening, both platforms achieved similar results despite being optimized and compiled on very different platforms.

    Hope that makes sense!

    Ned

  2. #47
    Joined
    Oct 2001
    Location
    Southern Ontario
    Age
    45
    Posts
    13,194

    Re: Benchmarks for linux?

    So you mean the Windows version was actually droping some of the code by over optimizing it? At least they didn't super optimize it to this:
    Code:
    main()
    {
    }


    And I always thought that compiler optimizations basically just took advantage of additional features that a paticular computer or class of computer had and also made assumptions on which 'work-arounds' were not needed (ie the original Pentium floating point fault). I never knew they could actually affect the work that was being preformed.

    Hmmm. Interesting.

  3. #48
    Joined
    Jul 2001
    Location
    UK
    Age
    51
    Posts
    20,229

    Re: Benchmarks for linux?

    Yes, apparently some optimizers now start at the end and work back looking at what code actually contributes to the end (output) of the program. Anything that doesn't usefully contribute is dropped (optimized out). GNU/Linux gcc didn't do this however - it was only a problem on the Windows compiler (Visual Studio C compiler I think). The solution was to split the benchmark code into two separate c source files with the output of the first being passed as the input to the second thus linking the two components in a way that fooled the optimizer.

    Ned

  4. #49
    Joined
    Oct 2001
    Location
    Southern Ontario
    Age
    45
    Posts
    13,194

    Re: Benchmarks for linux?

    If you ask me that's BAD! A compiler that chooses what it wants to compile and what it drops out can cause some REAL serious issues. And they wonder why M$ software has issues. The programmer is lossing control.

  5. #50
    Joined
    Sep 2002
    Location
    In and out of Detroit
    Posts
    1,556

    Re: Benchmarks for linux?

    I don't think the programmer is losing any control.
    Pretty soon processors will spend more cpu time predicting which branches and jumps a program is going to take rather than executing the code. The faster the cpu gets the longer it ends up staying idle waiting for simple conditional to be calculated. Not to mention the bottleneck that just about every other part of the system is.

    I'll upgrade my computer when DRAM works at 1/4th the speed of a cpu.

    "Well, let's just say, 'if your VCR is still blinking 12:00,you don't want Linux.'"
    - Bruce Perens, Former Debian Project Leader

  6. #51
    Joined
    Jul 2001
    Location
    UK
    Age
    51
    Posts
    20,229

    Re: Benchmarks for linux?

    Right, and also you don't have to use aggresive optimizations, or any optimizations at all for that matter when compiling your code.

    Ned
    Last edited by Ned Slider; 04-14-2005 at 12:42 PM. Reason: typo

  7. #52
    Joined
    Sep 2002
    Location
    In and out of Detroit
    Posts
    1,556

    Re: Benchmarks for linux?

    True, the compiler will still reorder your code so that the cpu is being as efficient as posible when executing it.

    "Well, let's just say, 'if your VCR is still blinking 12:00,you don't want Linux.'"
    - Bruce Perens, Former Debian Project Leader

  8. #53
    Joined
    Sep 2003
    Location
    Colorado
    Age
    47
    Posts
    16

    Re: Benchmarks for linux?

    Possible benchmark suggestions, all compilable:

    Graphics hardware:
    - Run Celestia demo incorporating some of the extra available high detail spacecraft & high altitude aircraft models (would require hacking ina "timedemo" function into celestia)
    - evas_gl_x11_test

    FPU & branch predict:
    - Compute the SVD of some matrix with 10,000+ columns. Both FPU and SIMD optimized versions.
    Last edited by brian33x51; 04-15-2005 at 06:15 PM.

  9. #54
    Joined
    Jul 2001
    Location
    UK
    Age
    51
    Posts
    20,229

    Re: Benchmarks for linux?

    Just happened to be reading this old thread so thought I'd give it a BUMP for the weekend

  10. #55
    Joined
    Jul 2001
    Location
    UK
    Age
    51
    Posts
    20,229

    Re: Benchmarks for linux?

    I remembered this thrad from way back when, and decided to give it a go on my nice new 64-bit Quad core running at 3,2GHz.

    Here's my previous results:

    Quote Originally Posted by Ned Slider View Post
    AthlonXP @ 2.2GHz (11x200fsb)

    Stock: 588 Seconds
    gcc opts: 322 Seconds!!

    Who's the fastest

    Come on - someone must be able to beat that

    Anyone else notice, it gets a lot faster as the run completes?

    Ned
    ...and on a Q6600 Quad overclocked to 3.2GHZ... 327 secs - it's actually slower

    That was with -march=k8, -m64

    I did a few more runs and got it down to 326 seconds, but couldn't match my original time on my trusty old Athlon XP. I was kinda hoping for at least some improvement from my new state of the art processor!

  11. #56
    Joined
    Oct 2001
    Location
    Southern Ontario
    Age
    45
    Posts
    13,194

    Re: Benchmarks for linux?

    Ned, Ned, Ned, you must be loosing your touch!

    It might be time to let Ned Jr at this.

  12. #57
    Joined
    Jul 2001
    Location
    UK
    Age
    51
    Posts
    20,229

    Re: Benchmarks for linux?

    Quote Originally Posted by Spankin Partier View Post
    Ned, Ned, Ned, you must be loosing your touch!

    It might be time to let Ned Jr at this.
    Yeah - I was real surprised

    Here's a recent quote from Jan Hubicka, gcc developer:

    Quote Originally Posted by Jan Hubicka
    The generic model works well for core2 (as well as for AMD chips) so distros compiled with GCC 4.2 or 4.3 will work better on those chips. (originally most distros was optimized for i686 for 32bit and for K8 for 64bits, especially the second results in quite big performance loses for core2).
    Unfortunately, I'm still using gcc-4.1 which doesn't have the new options for generic or core2, only the old k8 which is obviously far from optimal (basically a 64-bit x86-64 equivalent of i686). Looks like they're doing some great work on compiler optimizations in the current development tree (gcc-4.3) for Core2, Penryn etc but it's going to take time to filter downstream.

    This also explains why we currently see very little performance improvements going from 32-bit to 64-bit based distro on a core2 class processor.
    Last edited by Ned Slider; 11-17-2007 at 12:57 PM.

  13. #58
    Joined
    Oct 2001
    Location
    Southern Ontario
    Age
    45
    Posts
    13,194

    Re: Benchmarks for linux?

    That's basically why the old Seti client didn't do so well on the new processors.

  14. #59
    Joined
    Jul 2001
    Location
    UK
    Age
    51
    Posts
    20,229

    Re: Benchmarks for linux?

    Quote Originally Posted by Spankin Partier View Post
    That's basically why the old Seti client didn't do so well on the new processors.
    Yes - probably so, and also raw MHz performance hasn't actually increased that much in the last two years - take my overclocked Athlon-XP at 2.4GHz verses a stock Q6600 at, you guessed it - 2.4GHz.

  15. #60
    Joined
    Oct 2001
    Location
    Southern Ontario
    Age
    45
    Posts
    13,194

    Re: Benchmarks for linux?

    Exactly. If the software isn't compiled with a compiler that has the same technology as the CPU chip, then you're essentially running your CPU as an older generation of CPU. It then just boils down to pure Mhz.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •