[Python-Dev] performance (original) (raw)

Antoine Pitrou solipsis at pitrou.net
Sun Aug 24 14:58:31 CEST 2008


Neal Norwitz <nnorwitz gmail.com> writes:

Can someone (else) compare performance of 2.5, 2.6, and 3.0?

Tests done on a 32-bit Linux installation on an Athlon 3600+ X2. Compiled with gcc in UCS2 mode.

pystone

richards.py

(roughly, richards is an object-oriented method-calling benchmark)

stringbench

pybench: 2.6 vs. 2.5

"this" is 2.6, "other" is 2.5.

Test minimum run-time average run-time this other diff this other diff

      BuiltinFunctionCalls:   177ms   181ms   -2.2%   178ms   182ms   -2.1%
       BuiltinMethodLookup:   157ms   177ms  -11.1%   158ms   177ms  -11.0%
             CompareFloats:   171ms   171ms   -0.3%   171ms   171ms   -0.3%
     CompareFloatsIntegers:   158ms   162ms   -2.1%   160ms   167ms   -4.8%
           CompareIntegers:   208ms   208ms   -0.0%   209ms   209ms   -0.3%
    CompareInternedStrings:   189ms   183ms   +3.4%   189ms   184ms   +2.7%
              CompareLongs:   154ms   154ms   -0.2%   154ms   154ms   -0.2%
            CompareStrings:   162ms   159ms   +1.7%   163ms   159ms   +2.5%
            CompareUnicode:   144ms   149ms   -3.6%   144ms   152ms   -5.0%
ComplexPythonFunctionCalls:   173ms   242ms  -28.5%   176ms   243ms  -27.6%
             ConcatStrings:   196ms   198ms   -0.9%   203ms   200ms   +1.4%
             ConcatUnicode:   153ms   151ms   +1.5%   155ms   157ms   -1.5%
           CreateInstances:   172ms   169ms   +1.5%   173ms   170ms   +1.4%
        CreateNewInstances:   131ms   148ms  -11.6%   132ms   151ms  -12.2%
   CreateStringsWithConcat:   209ms   206ms   +1.4%   209ms   208ms   +0.8%
   CreateUnicodeWithConcat:   128ms   124ms   +3.7%   129ms   124ms   +3.4%
              DictCreation:   115ms   149ms  -22.8%   116ms   150ms  -22.8%
         DictWithFloatKeys:   208ms   207ms   +0.4%   208ms   208ms   +0.0%
       DictWithIntegerKeys:   173ms   173ms   -0.0%   174ms   173ms   +0.5%
        DictWithStringKeys:   162ms   162ms   -0.1%   162ms   162ms   +0.1%
                  ForLoops:   181ms   181ms   -0.2%   181ms   182ms   -0.2%
                IfThenElse:   169ms   168ms   +0.2%   169ms   169ms   -0.2%
               ListSlicing:   109ms   108ms   +0.2%   109ms   109ms   +0.1%
            NestedForLoops:   198ms   197ms   +0.2%   198ms   197ms   +0.1%
      NormalClassAttribute:   176ms   172ms   +2.0%   176ms   173ms   +1.7%
   NormalInstanceAttribute:   162ms   161ms   +1.0%   163ms   161ms   +1.1%
       PythonFunctionCalls:   161ms   151ms   +6.6%   162ms   153ms   +6.0%
         PythonMethodCalls:   188ms   189ms   -0.7%   189ms   193ms   -2.0%
                 Recursion:   235ms   230ms   +2.2%   236ms   233ms   +1.2%
              SecondImport:   113ms   114ms   -1.0%   115ms   115ms   +0.0%
       SecondPackageImport:   120ms   116ms   +3.6%   120ms   117ms   +2.9%
     SecondSubmoduleImport:   154ms   146ms   +6.0%   156ms   148ms   +5.7%
   SimpleComplexArithmetic:   163ms   151ms   +8.3%   163ms   151ms   +8.6%
    SimpleDictManipulation:   177ms   173ms   +2.6%   180ms   174ms   +3.2%
     SimpleFloatArithmetic:   169ms   164ms   +3.0%   169ms   166ms   +2.2%
  SimpleIntFloatArithmetic:   153ms   152ms   +1.2%   156ms   153ms   +1.8%
   SimpleIntegerArithmetic:   156ms   152ms   +2.5%   156ms   153ms   +2.0%
    SimpleListManipulation:   156ms   158ms   -1.0%   157ms   158ms   -0.5%
      SimpleLongArithmetic:   159ms   150ms   +6.1%   161ms   151ms   +6.3%
                SmallLists:   156ms   154ms   +1.1%   160ms   155ms   +3.0%
               SmallTuples:   156ms   155ms   +0.4%   157ms   156ms   +0.8%
     SpecialClassAttribute:   173ms   172ms   +0.6%   173ms   172ms   +0.7%
  SpecialInstanceAttribute:   202ms   198ms   +2.4%   203ms   199ms   +2.2%
            StringMappings:   164ms   170ms   -3.2%   165ms   171ms   -3.9%
          StringPredicates:   160ms   185ms  -13.6%   160ms   186ms  -13.9%
             StringSlicing:   169ms   178ms   -5.3%   174ms   180ms   -3.4%
                 TryExcept:   181ms   184ms   -1.5%   181ms   184ms   -1.5%
                TryFinally:   157ms   158ms   -0.3%   159ms   161ms   -1.2%
            TryRaiseExcept:   183ms   122ms  +49.6%   184ms   124ms  +48.2%
              TupleSlicing:   142ms   140ms   +1.5%   144ms   141ms   +2.0%
           UnicodeMappings:   198ms   190ms   +4.1%   198ms   190ms   +4.1%
         UnicodePredicates:   157ms   175ms  -10.2%   157ms   176ms  -10.6%
         UnicodeProperties:   161ms   161ms   +0.1%   162ms   170ms   -5.0%
            UnicodeSlicing:   148ms   153ms   -3.3%   151ms   155ms   -2.6%
               WithFinally:   191ms   203ms   -5.9%   193ms   208ms   -7.5%
           WithRaiseExcept:   151ms   160ms   -5.8%   152ms   167ms   -9.0%

Totals: 9287ms 9363ms -0.8% 9351ms 9455ms -1.1%

pybench: 3.0

Not entirely comparable with the above since some tests disappeared.

Test minimum average operation overhead

      BuiltinFunctionCalls:    134ms    134ms    0.26us    0.631ms
       BuiltinMethodLookup:    127ms    127ms    0.12us    0.738ms
             CompareFloats:    174ms    174ms    0.14us    0.845ms
     CompareFloatsIntegers:    274ms    274ms    0.30us    0.630ms
           CompareIntegers:    277ms    277ms    0.15us    1.272ms
    CompareInternedStrings:    261ms    261ms    0.17us    3.201ms
              CompareLongs:    162ms    162ms    0.15us    0.736ms
            CompareStrings:    171ms    173ms    0.17us    2.188ms
ComplexPythonFunctionCalls:    172ms    178ms    0.89us    1.073ms
             ConcatStrings:    260ms    273ms    0.55us    1.222ms
           CreateInstances:    178ms    178ms    1.59us    0.944ms
        CreateNewInstances:    133ms    135ms    1.61us    0.759ms
   CreateStringsWithConcat:    253ms    256ms    0.26us    2.127ms
              DictCreation:    118ms    118ms    0.29us    0.845ms
         DictWithFloatKeys:    207ms    215ms    0.24us    1.593ms
       DictWithIntegerKeys:    174ms    176ms    0.15us    2.132ms
        DictWithStringKeys:    158ms    158ms    0.13us    2.127ms
                  ForLoops:    188ms    188ms    7.51us    0.097ms
                IfThenElse:    212ms    212ms    0.16us    1.597ms
               ListSlicing:    111ms    111ms    7.96us    0.165ms
            NestedForLoops:    218ms    220ms    0.15us    0.001ms
      NormalClassAttribute:    339ms    340ms    0.28us    1.111ms
   NormalInstanceAttribute:    186ms    186ms    0.16us    1.116ms
       PythonFunctionCalls:    156ms    158ms    0.48us    0.633ms
         PythonMethodCalls:    200ms    201ms    0.89us    0.374ms
                 Recursion:    259ms    260ms    5.21us    1.059ms
              SecondImport:    128ms    128ms    1.28us    0.417ms
       SecondPackageImport:    140ms    143ms    1.43us    0.417ms
     SecondSubmoduleImport:    200ms    200ms    2.00us    0.417ms
   SimpleComplexArithmetic:    142ms    144ms    0.16us    0.844ms
    SimpleDictManipulation:    280ms    285ms    0.24us    1.059ms
     SimpleFloatArithmetic:    161ms    161ms    0.12us    1.275ms
  SimpleIntFloatArithmetic:    199ms    213ms    0.16us    1.272ms
   SimpleIntegerArithmetic:    200ms    209ms    0.16us    1.301ms
    SimpleListManipulation:    165ms    166ms    0.14us    1.379ms
      SimpleLongArithmetic:    132ms    137ms    0.21us    0.630ms
                SmallLists:    188ms    191ms    0.28us    0.844ms
               SmallTuples:    197ms    199ms    0.37us    0.951ms
     SpecialClassAttribute:    534ms    535ms    0.45us    1.121ms
  SpecialInstanceAttribute:    185ms    186ms    0.15us    1.125ms
            StringMappings:    471ms    471ms    1.87us    0.884ms
          StringPredicates:    190ms    191ms    0.27us    4.315ms
             StringSlicing:    285ms    290ms    0.52us    1.881ms
                 TryExcept:    182ms    182ms    0.08us    1.663ms
                TryFinally:    134ms    136ms    0.85us    0.882ms
            TryRaiseExcept:    137ms    138ms    2.15us    0.885ms
              TupleSlicing:    202ms    204ms    0.78us    0.110ms
               WithFinally:    185ms    188ms    1.18us    0.881ms
           WithRaiseExcept:    274ms    275ms    3.44us    1.105ms

Totals: 10011ms 10120ms



More information about the Python-Dev mailing list