J> I implemented a variant of the CPython VM on top of Gforth's Vmgen;
    J> this made it fairly straightforward to add direct threaded code and
    J> superinstructions for the various permutations of LOAD_CONST,
    J> LOAD_FAST, and most of the two-argument VM instructions.

    Skip> Trying to build with your changes on my Mac (OS X 10.5.5) I get an
    Skip> error caused by a definition in code.h:

I renamed Cell to _PyV_Cell and Inst to _PyV_Inst and got it to build.  I
get this pybench output on my Mac:

    
-------------------------------------------------------------------------------
    PYBENCH 2.0
    
-------------------------------------------------------------------------------
    * using Python 2.5.3a0
    * disabled garbage collection
    * system check interval set to maximum: 2147483647
    * using timer: time.time

    
-------------------------------------------------------------------------------
    Benchmark: py25t.pybench
    
-------------------------------------------------------------------------------

        Rounds: 10
        Warp:   10
        Timer:  time.time

        Machine Details:
           Platform ID:  Darwin-9.5.0-i386-32bit
           Processor:    i386

        Python:
           Executable:   /Users/skip/src/python/release25-maint/python.exe
           Version:      2.5.3a0
           Compiler:     GCC 4.0.1 (Apple Inc. build 5465)
           Bits:         32bit
           Build:        Oct 22 2008 13:12:03 (#release25-maint:66444M)
           Unicode:      UCS2


    
-------------------------------------------------------------------------------
    Comparing with: py25.pybench
    
-------------------------------------------------------------------------------

        Rounds: 10
        Warp:   10
        Timer:  time.time

        Machine Details:
           Platform ID:  Darwin-9.5.0-i386-32bit
           Processor:    i386

        Python:
           Executable:   /Users/skip/local/bin/python2.5
           Version:      2.5.3a0
           Compiler:     GCC 4.0.1 (Apple Inc. build 5465)
           Bits:         32bit
           Build:        Sep 13 2008 09:17:06 (#release25-maint:66444)
           Unicode:      UCS2


    Test                             minimum run-time        average  run-time
                                     this    other   diff    this    other   
diff
    
-------------------------------------------------------------------------------
              BuiltinFunctionCalls:   119ms   133ms  -10.6%   121ms   141ms  
-14.1%
               BuiltinMethodLookup:   107ms   113ms   -5.2%   108ms   116ms   
-6.5%
                     CompareFloats:    67ms    92ms  -27.7%    68ms    95ms  
-28.4%
             CompareFloatsIntegers:    75ms    92ms  -17.9%    76ms    94ms  
-19.1%
                   CompareIntegers:    53ms    89ms  -39.8%    54ms    91ms  
-40.6%
            CompareInternedStrings:    78ms   102ms  -24.3%    78ms   109ms  
-28.3%
                      CompareLongs:    64ms    85ms  -24.2%    65ms    85ms  
-23.5%
                    CompareStrings:    60ms    77ms  -22.0%    62ms    80ms  
-22.5%
                    CompareUnicode:    91ms   106ms  -13.8%    93ms   111ms  
-16.0%
                     ConcatStrings:   140ms   141ms   -0.3%   144ms   144ms   
+0.0%
                     ConcatUnicode:    83ms    82ms   +2.4%    91ms    85ms   
+6.6%
                   CreateInstances:   138ms   145ms   -5.1%   140ms   148ms   
-5.2%
                CreateNewInstances:   123ms   128ms   -3.7%   125ms   129ms   
-3.5%
           CreateStringsWithConcat:   104ms   111ms   -7.0%   105ms   258ms  
-59.1%
           CreateUnicodeWithConcat:    81ms    93ms  -13.2%    83ms   158ms  
-47.7%
                      DictCreation:   104ms    96ms   +9.1%   106ms   102ms   
+4.0%
                 DictWithFloatKeys:    88ms   104ms  -15.9%    92ms   110ms  
-16.4%
               DictWithIntegerKeys:    79ms   111ms  -29.2%    81ms   113ms  
-28.4%
                DictWithStringKeys:    77ms    90ms  -13.8%    84ms    93ms   
-9.8%
                          ForLoops:    66ms    78ms  -15.2%    67ms    79ms  
-14.8%
                        IfThenElse:    57ms    91ms  -37.4%    57ms    91ms  
-37.4%
                       ListSlicing:   119ms   120ms   -0.4%   121ms   121ms   
-0.3%
                    NestedForLoops:    86ms    98ms  -12.0%    87ms    99ms  
-12.5%
              NormalClassAttribute:   113ms   111ms   +2.1%   118ms   113ms   
+4.0%
           NormalInstanceAttribute:    89ms   102ms  -12.5%    91ms   104ms  
-12.6%
               PythonFunctionCalls:    89ms   106ms  -15.8%    91ms   108ms  
-15.0%
                 PythonMethodCalls:   141ms   158ms  -11.0%   149ms   161ms   
-6.9%
                         Recursion:   122ms   137ms  -11.2%   123ms   140ms  
-11.7%
                      SecondImport:    90ms    91ms   -0.3%    91ms    91ms   
-0.3%
               SecondPackageImport:    95ms    95ms   +0.9%    97ms    96ms   
+0.9%
             SecondSubmoduleImport:   124ms   124ms   +0.5%   126ms   125ms   
+0.7%
           SimpleComplexArithmetic:    96ms   103ms   -7.2%    97ms   105ms   
-6.8%
            SimpleDictManipulation:    85ms   101ms  -15.6%    90ms   103ms  
-12.3%
             SimpleFloatArithmetic:    90ms    98ms   -8.1%    92ms   101ms   
-8.3%
          SimpleIntFloatArithmetic:    64ms    78ms  -17.2%    65ms    79ms  
-18.0%
           SimpleIntegerArithmetic:    60ms    78ms  -23.3%    60ms    79ms  
-24.3%
            SimpleListManipulation:    71ms    85ms  -16.3%    73ms    87ms  
-16.3%
              SimpleLongArithmetic:   103ms   114ms   -9.8%   106ms   116ms   
-8.1%
                        SmallLists:   121ms   128ms   -5.5%   122ms   131ms   
-6.9%
                       SmallTuples:   107ms   114ms   -6.2%   109ms   116ms   
-6.0%
             SpecialClassAttribute:   100ms   110ms   -9.7%   102ms   111ms   
-7.8%
          SpecialInstanceAttribute:   175ms   182ms   -3.7%   178ms   184ms   
-3.5%
                    StringMappings:   172ms   177ms   -2.8%   175ms   178ms   
-1.6%
                  StringPredicates:   147ms   146ms   +0.7%   149ms   147ms   
+1.0%
                     StringSlicing:   112ms   112ms   +0.2%   116ms   120ms   
-3.5%
                         TryExcept:    55ms    77ms  -28.3%    56ms    78ms  
-27.7%
                    TryRaiseExcept:   105ms   104ms   +1.2%   106ms   105ms   
+1.0%
                      TupleSlicing:   110ms   107ms   +3.2%   113ms   112ms   
+0.7%
                   UnicodeMappings:   106ms   108ms   -1.5%   108ms   109ms   
-1.6%
                 UnicodePredicates:   106ms   113ms   -5.4%   109ms   115ms   
-5.6%
                 UnicodeProperties:   102ms   113ms   -9.7%   104ms   116ms  
-10.2%
                    UnicodeSlicing:    93ms    98ms   -5.1%    95ms   102ms   
-7.1%
    
-------------------------------------------------------------------------------
    Totals:                          5106ms  5645ms   -9.5%  5221ms  5985ms  
-12.8%

    (this=py25t.pybench, other=py25.pybench)

this == your threaded VM, other == the 2.5.3a0 VM.

Skip
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to