Announcement

Collapse
No announcement yet.

CPUs From 2004 Against AMD's New 64-Core Threadripper 3990X + Tests Against FX-9590

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #61
    A micro-benchmark that tests integer division simply isn't that useful. No serious number crunching app relies on that, precisely because integer division is known to be a slow operation across all different kinds of cpu architectures. The cpu designers just have to create something that's good enough that people won't notice it in the general application case, and it's largely not optimized heavily by anyone.

    Something like SpecInt is still flawed and synthetic, but a much more useful and realistic comparison than a simple micro-benchmark will be. As you can see from the link below, AMD's 3700x is roughly competitive with the 9900k in single-thread performance, at least with the newer tests. Some of the older ones tend to still favor Intel. The 1st gen Ryzen is way behind.

    https://www.anandtech.com/show/14605...sing-the-bar/6
    Last edited by smitty3268; 02-11-2020, 04:44 AM.

    Comment


    • #62
      Originally posted by Raka555 View Post

      I did try with clang as well, but the code gcc produced was faster or the same.

      This was originally not a "benchmark". I actually needed to produce prime numbers, so it stems from a real world application.
      (And I know this is not the optimized version)
      I also played with march=native in both examples 32bit/64bit ..but no significant change above error margin

      Comment


      • #63
        Originally posted by CochainComplex View Post

        Code:
        real 0m10,153s
        Code:
        $ perf stat ./prime_gcc_int64
        664580
        
        Performance counter stats for './prime_gcc_int64':
        
        10.184,94 msec task-clock:u # 1,000 CPUs utilized
        0 context-switches:u # 0,000 K/sec
        0 cpu-migrations:u # 0,000 K/sec
        54 page-faults:u # 0,005 K/sec
        47.981.199.959 cycles:u # 4,711 GHz
        17.446.323.647 instructions:u # 0,36 insn per cycle
        3.508.147.325 branches:u # 344,445 M/sec
        4.406.190 branch-misses:u # 0,13% of all branches
        
        10,185381274 seconds time elapsed
        
        10,175968000 seconds user
        0,000999000 seconds sys
        Xeon E-2286M
        Here's a fun CPU, a Power9 at 3.8 GHz. The system is a Raptor Talos II.

        32-bit int:
        Code:
        $ perf stat ./silly-prime
        664580
        
         Performance counter stats for './silly-prime':
        
                  2,656.22 msec task-clock:u              #    1.000 CPUs utilized          
                         0      context-switches:u        #    0.000 K/sec                  
                         0      cpu-migrations:u          #    0.000 K/sec                  
                        39      page-faults:u             #    0.015 K/sec                  
             9,969,909,880      cycles:u                  #    3.753 GHz                      (33.48%)
                23,459,002      stalled-cycles-frontend:u #    0.24% frontend cycles idle     (50.31%)
             3,127,568,964      stalled-cycles-backend:u  #   31.37% backend cycles idle      (16.57%)
            15,721,500,489      instructions:u            #    1.58  insn per cycle         
                                                          #    0.20  stalled cycles per insn  (33.13%)
             3,515,175,504      branches:u                # 1323.373 M/sec                    (49.69%)
                 5,110,866      branch-misses:u           #    0.15% of all branches          (16.56%)
        
               2.656827962 seconds time elapsed
        
               2.646893000 seconds user
               0.002416000 seconds sys
        I was going to post its 64-bit result, but it is essentially identical so no point.

        Comment


        • #64
          Originally posted by Zan Lynx View Post

          Here's a fun CPU, a Power9 at 3.8 GHz. The system is a Raptor Talos II.

          32-bit int:
          Code:
          $ perf stat ./silly-prime
          664580
          
          Performance counter stats for './silly-prime':
          
          2,656.22 msec task-clock:u # 1.000 CPUs utilized
          0 context-switches:u # 0.000 K/sec
          0 cpu-migrations:u # 0.000 K/sec
          39 page-faults:u # 0.015 K/sec
          9,969,909,880 cycles:u # 3.753 GHz (33.48%)
          23,459,002 stalled-cycles-frontend:u # 0.24% frontend cycles idle (50.31%)
          3,127,568,964 stalled-cycles-backend:u # 31.37% backend cycles idle (16.57%)
          15,721,500,489 instructions:u # 1.58 insn per cycle
          # 0.20 stalled cycles per insn (33.13%)
          3,515,175,504 branches:u # 1323.373 M/sec (49.69%)
          5,110,866 branch-misses:u # 0.15% of all branches (16.56%)
          
          2.656827962 seconds time elapsed
          
          2.646893000 seconds user
          0.002416000 seconds sys
          I was going to post its 64-bit result, but it is essentially identical so no point.
          I wish I would have such a machine ...

          Comment

          Working...
          X