Announcement

Collapse
No announcement yet.

Formula CPU mark, memory mark and disk mark

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

  • Formula CPU mark, memory mark and disk mark

    What formula is used for calculation CPU mark, memory mark and disk mark?

  • #2
    For V8 of PerformanceTest the Formula for the PassMark rating, CPUMark and other mark values is (mostly) equivalent to Constant * Weighted Harmonic Mean:

    Here is a simplified version.

    PassMark Rating = 1.136147806 * SUM(Wi) / SUM(Wi/Xi)
    Wi, Xi
    2.521647162015860, CPU Rating
    0.314592223502463, 2D Rating
    0.396008883238004, 3D Rating
    0.569124275370555, Memory Rating
    0.599463310688817, Disk Rating


    CPUMark = 1.791798549 * SUM(Wi)/SUM(Wi/Xi)
    Wi, Xi
    1.61409490426413000, CPU - Integer Math
    0.78030297980205800, CPU - Floating Point Math
    0.00298791011878377, CPU - Prime Numbers
    0.00425539632371741, CPU - Extended Instructions (SSE)
    1.28673313314116000, CPU - Compression
    0.17464523002838700, CPU - Encryption
    0.06047953119557500, CPU - Physics
    0.80170208150336800, CPU - Sorting
    0.29768491953295500, CPU - Single Threaded


    2D Graphics Mark = 2.885893591 * SUM(Wi)/SUM(Wi/Xi)
    Wi, Xi
    0.04557724359985280, Graphics 2D - Simple Vectors
    0.20274121794503000, Graphics 2D - Complex Vectors
    0.26521461537446100, Graphics 2D - Fonts and Text
    0.18918250000277200, Graphics 2D - Windows Interface
    0.93260256411875300, Graphics 2D - Image Filters
    0.75954294849425900, Graphics 2D - Image Rendering
    0.03073076923530790, Graphics 2D - Direct 2D


    3D Graphics Mark = 9.712167917 * SUM(Wi)/SUM(Wi/Xi)
    Wi, Xi
    0.06452845600728730, Graphics 3D - DirectX 9 Simple
    0.02817527844893020, Graphics 3D - DirectX 9 Complex
    0.00944282812657065, Graphics 3D - DirectX 10
    0.02299592705614300, Graphics 3D - DirectX 11
    0.38967562748451200, Graphics 3D - DirectCompute


    Memory Mark = 0.215741845 * SUM(Wi)/SUM(Wi/Xi)
    Wi, Xi
    0.03880159638350440, Memory - Database Operations
    12.85056023109620000, Memory - Read Cached
    5.82830120721253000, Memory - Read Uncached
    3.54541566674865000, Memory - Write
    2.25598102304859000, Memory - Available RAM
    0.00002063799167225, 1/Memory - Latency
    7.92710544574625000, Memory - Threaded


    These are Averages:
    Disk Mark = 10.84951297 * Average(Xi)
    Xi
    Disk - Sequential Read
    Disk - Sequential Write
    Disk - Random Seek + RW



    It isn't as straight forward as you might initially imagine however due to several factors.

    1. We wanted to keep some consistency with past releases.
    2. Not all tests can be run on all machines. Examples include not being able to run DirectX11 on XP machines. But we still wanted to be able to produce a benchmark number on XP machines, despite not being able to run all tests.
    3. Some tests can be run only in a degraded state on some machines. An example is not being able to run at full 1920x1080 screen resolution. Or not being able to turn on the desired level of anti-aliasing on old video cards. We penalize some results in cases like this.
    4. There is one result where smaller numbers are better (memory latency). So this required special handling.
    5. Some of the tests actually contain a bunch of sub-tests. Direct2D being an example. The combination of results from the sub-tests isn’t covered above.
    6. The formula above doesn’t cover the loading up (and scaling) of results from older versions of the software (e.g. V5, V6 & V7)
    7. Some tests are optional, like the CD test, depending on if you have CD drive and suitable media in the drive. But we wanted to allow a benchmark to be run on machines without a CD drive. So this needs to be handled.

    Comment


    • #3
      For V9 here is the updated numbers;

      PassMark Rating = 1.136147806 * SUM(Wi) / SUM(Wi/Xi)
      Wi, Xi
      2.521647162015860, CPU Rating
      0.314592223502463, 2D Rating
      0.396008883238004, 3D Rating
      0.569124275370555, Memory Rating
      0.599463310688817, Disk Rating


      CPUMark = (1.791798549 * SUM(Wi)/SUM(Wi/Xi)) * 0.935
      Overall CPU mark is scaled down 6.5% to bring it closer in line to V8 results
      Wi, Xi
      1.61409490426413000, CPU - Integer Math
      0.78030297980205800, CPU - Floating Point Math
      0.00298791011878377, CPU - Prime Numbers
      0.00425539632371741, CPU - Extended Instructions (SSE)
      1.28673313314116000, CPU - Compression
      0.17464523002838700, CPU - Encryption
      0.06047953119557500, CPU - Physics
      0.80170208150336800, CPU - Sorting
      0.29768491953295500, CPU - Single Threaded


      2D Graphics Mark = 2.885893591 * SUM(Wi)/SUM(Wi/Xi)
      Wi, Xi
      0.04557724359985280, Graphics 2D - Simple Vectors
      0.20274121794503000, Graphics 2D - Complex Vectors
      0.26521461537446100, Graphics 2D - Fonts and Text
      0.18918250000277200, Graphics 2D - Windows Interface
      0.93260256411875300, Graphics 2D - Image Filters
      0.75954294849425900, Graphics 2D - Image Rendering
      0.03073076923530790, Graphics 2D - Direct 2D


      3D Graphics Mark = 11.26078383 * SUM(Wi)/SUM(Wi/Xi)
      Wi, Xi
      0.02841011904870032, Graphics 3D - DirectX 9 Complex
      0.01144654017856387, Graphics 3D - DirectX 10
      0.01906127232111015, Graphics 3D - DirectX 11
      0.00719999999942400, Graphics 3D - DirectX 12
      0.37790089285839027, Graphics 3D - DirectCompute


      Memory Mark = 0.215741845 * SUM(Wi)/SUM(Wi/Xi)
      Wi, Xi
      0.03880159638350440, Memory - Database Operations
      12.85056023109620000, Memory - Read Cached
      5.82830120721253000, Memory - Read Uncached
      3.54541566674865000, Memory - Write
      2.25598102304859000, Memory - Available RAM
      0.00002063799167225, 1/Memory - Latency
      7.92710544574625000, Memory - Threaded


      These are Averages:
      Disk Mark = 10.84951297 * Average(Xi)
      Xi
      Disk - Sequential Read
      Disk - Sequential Write
      Disk - Random Seek + RW

      Comment


      • #4
        Any chance you could share how the formula above would turn a set of scores into an overall rating? I've always wanted to understand better how each variable contributes to the whole and while I'm good with excel I'm not familiar with the weighted harmonic mean calculations you cite (and haven't been successful finding an explanation online).

        So for example I have a machine here with these scores:

        CPU: 10185.8
        2D: 812.1
        3D: 4411
        Memory: 2546
        Disk: 4968

        I'd love to make a spreadsheet that would show me how each of those turns into the overall score of 4678

        Thanks for any tips and thanks for the great software!!

        Comment


        • #5
          Per the help documentation:

          The "PassMark Rating" is a combination of the CPU, 2D, 3D, Memory and Disk Ratings, the bigger the number, the faster the computer. The exact formula for this calculation is as follows.

          1 / (((1 / (CPU Rating * 0.396566187)) + (1 / (2D Rating * 3.178718116)) + (1 / (3D Rating * 2.525195879)) + (1 / (Memory Rating * 1.757085479)) + (1 / (Disk Rating * 1.668158805)))/5)

          In this formula each rating is weighted then inverted, the average of these values is taken and then inverted again. The formula gives higher weighting to the CPU and disk tests and lower weighting to the 2D and memory tests. This is done as the CPU performance and disk performance are generally more important when it comes to how fast the computer feels to the general user. The score is also calculated in such a way that a single extremely high value cannot significantly improve the final score. Conversely, a single low score can drag the score down significantly using this formula. All components in a system must be performing well in order for the final score to be high.
          For your example, the PassMark Rating would be 4678.

          Code:
          Passmark Rating = 1 / (((1 / (10185.8 * 0.396566187)) + (1 / (812.1 * 3.178718116)) + (1 / (4411 * 2.525195879)) + (1 / (2546 * 1.757085479)) + (1 / (4968 * 1.668158805)))/5) = 4677.595655

          Comment


          • #6
            For version 10 the updated numbers are;

            CPUMark = CPUMark * 1.65
            Overall CPU mark is scaled up to be closer to PT9 result

            0.149001983, CPU - Integer Math
            0.271311984, CPU - Floating Point Math
            296.1871085, CPU - Prime Numbers
            0.758484696, CPU - Extended Instructions (SSE)
            0.034970332, CPU - Compression
            0.8766779, CPU - Encryption
            17.81818182, CPU - Physics
            0.392310713, CPU - Sorting
            4.908772082, CPU - Single Threaded

            2D Graphics Mark

            60.25393099, Graphics 2D - Simple Vectors
            3.649649659, Graphics 2D - Fonts and Text
            15.78231555, Graphics 2D - Windows Interface
            0.463690633, Graphics 2D - Image Filters
            4.196513, Graphics 2D - Image Rendering
            15.802781340, Graphics 2D - Direct 2D
            16.39344251, Graphics 2D - PDF Rendering
            13, Graphics 2D - Direct 2D - SVG

            3D Graphics Mark = 3D Graphics Mark * 2.35
            Overall 3D mark is scaled up be closer to PT9 result
            If no DX10 then 40% penalty is applied, if no DX11/DX12 a 20% penalty is applied

            28.77991307, Graphics 3D - DirectX 9 Complex
            44.43436155, Graphics 3D - DirectX 10
            24.36318087, Graphics 3D - DirectX 11
            95.96088498, Graphics 3D - DirectX 12
            1.093968291, Graphics 3D - DirectCompute

            Memory Mark

            2.5, Memory - Database Operations
            0.077817619, Memory - Read Cached
            0.171576582, Memory - Read Uncached
            0.282054375, Memory - Write
            0.44326614, Memory - Available RAM
            48454.32714, Memory - Latency
            0.126149451, Memory - Threaded

            Disk Mark = Disk Mark * 14.2135
            Overall Disk Mark is scaled up to be closer to PT9
            Disk mark is a straight average unlike the inverse averages used for the other test

            Disk Mark = (Sequential Read + Sequential Write + IOPS 32KQD20 + IOPS 4KQD1) / 4

            Comment

            Working...
            X