[pypy-dev] Re: [pypy-svn] r17675 - pypy/dist/pypy/translator/goal

Samuele Pedroni pedronis at strakt.com
Tue Sep 20 14:25:26 CEST 2005


tismer at codespeak.net wrote:
> Author: tismer
> Date: Tue Sep 20 04:40:45 2005
> New Revision: 17675
> 
> Modified:
>    pypy/dist/pypy/translator/goal/bench-windows.py
> Log:
> executable                  abs.richards   abs.pystone   rel.rich   rel.pystone
> pypy-c-17439                  35165 ms         668.586      42.4           61.1
> pypy-c-17600                  26388 ms         900.481      31.8           45.4
> pypy-c-17634                  20108 ms        1017.720      24.2           40.1
> pypy-c-17649                  22662 ms        1035.910      27.3           39.4
> pypy-c-17674-nolowmem         15817 ms        1981.470      19.1           20.6
> pypy-c-17674-t-lowmem         16834 ms        1274.650      20.3           32.1
> python 2.3.3                    830 ms       40861.400       1.0            1.0
> 
> 17649 was with explicit fixed stack.
> Changes after 17634 we not included.
> 17674 has an outrageous effect. I cannot really
> find out what it was. Did Armin do the fixed stack
> patch already? Probably not. Was it Samuele's avoiding
> of duplicate zeroing? Really just that? I think so, and
> this is incredible.

no, there's the effect of 17660 in there too

> Even more incredible is the fact that not using using
> t-lowmem accelerates pystone so much. This is an indicator
> that we missed something used in pystone that still contains
> applevel code. I can't believe it, will find it tomorrow.
> 
> 

I looked at this, there's range, which is not used just for the main 
loop but in at least in one of the Procs.


> Modified: pypy/dist/pypy/translator/goal/bench-windows.py
> ==============================================================================
> --- pypy/dist/pypy/translator/goal/bench-windows.py	(original)
> +++ pypy/dist/pypy/translator/goal/bench-windows.py	Tue Sep 20 04:40:45 2005
> @@ -3,20 +3,26 @@
>  # where a couple of .exe files is expected.
>  
>  current_result = """
> -executable           abs.richards   abs.pystone   rel.richards   rel.pystone
> -pypy-c-17439           35180 ms         661.339      41.9           59.7
> -pypy-c-17512           46007 ms         6



59.205      54.8           59.9
> -pypy-c-17516           37944 ms         704.839      45.2           56.0
> -pypy-c-17545-intern    34309 ms         764.987      40.8           51.6
> -pypy-c-17572           36061 ms         736.094      42.9           53.7
> -pypy-c-17600           26348 ms         901.957      31.4           43.8
> -pypy-c-17623-32_4      24734 ms         970.845      29.4           40.7
> -pypy-c-17634           20088 ms        1018.240      23.9           38.8
> -pypy-c-17649           22902 ms        1018.300      27.3           38.8
> -python 2.3.3             840 ms       39500.600       1.0            1.0
> +executable                  abs.richards   abs.pystone   rel.rich   rel.pystone
> +pypy-c-17439                  35165 ms         668.586      42.4           61.1
> +pypy-c-17600                  26388 ms         900.481      31.8           45.4
> +pypy-c-17634                  20108 ms        1017.720      24.2           40.1
> +pypy-c-17649                  22662 ms        1035.910      27.3           39.4
> +pypy-c-17674-nolowmem         15817 ms        1981.470      19.1           20.6
> +pypy-c-17674-t-lowmem         16834 ms        1274.650      20.3           32.1
> +python 2.3.3                    830 ms       40861.400       1.0            1.0
>  
>  17649 was with explicit fixed stack.
>  Changes after 17634 we not included.
> +17674 has an outrageous effect. I cannot really
> +find out what it was. Did Armin do the fixed stack
> +patch already? Probably not. Was it Samuele's avoiding
> +of duplicate zeroing? Really just that? I think so, and
> +this is incredible.
> +Even more incredible is the fact that not using using
> +t-lowmem accelerates pystone so much. This is an indicator
> +that we missed something used in pystone that still contains
> +applevel code. I can't believe it, will find it tomorrow.
>  """
>  
>  import os, sys
> @@ -48,7 +54,7 @@
>      print res
>      return res
>  
> -def run_richards(executable='python', n=10):
> +def run_richards(executable='python', n=20):
>      argstr = RICHARDS_CMD % n
>      txt = run_cmd('%s -c "%s"' % (executable, argstr))
>      res = get_result(txt, RICHARDS_PATTERN)
> @@ -60,18 +66,10 @@
>      exes.sort()
>      return exes
>  
> -LAYOUT = '''
> -executable           abs.richards   abs.pystone   rel.richards   rel.pystone
> -pypy-c-17439           40929 ms         637.274      47.8           56.6
> -pypy-c-17512           46105 ms         658.1        53.9           54.8
> -pypy-current           33937 ms         698.415      39.6           51.7
> -python 2.3.3             856 ms       36081.6         1.0            1.0
> -'''
> -
>  HEADLINE = '''\
> -executable           abs.richards   abs.pystone   rel.richards   rel.pystone'''
> +executable                  abs.richards   abs.pystone   rel.rich   rel.pystone'''
>  FMT = '''\
> -%-20s   '''          +  '%5d ms       %9.3f     ' + '%5.1f          %5.1f'
> +%-27s   '''                 +  '%5d ms      %9.3f     ' + '%5.1f          %5.1f'
>  
>  def main():
>      print 'getting the richards reference'
> @@ -81,7 +79,7 @@
>      res = []
>      for exe in get_executables():
>          exename = os.path.splitext(exe)[0]
> -        res.append( (exename, run_richards(exe, 1), run_pystone(exe, 2000)) )
> +        res.append( (exename, run_richards(exe, 2), run_pystone(exe, 20000)) )
>      res.append( ('python %s' % sys.version.split()[0], ref_rich, ref_stone) )
>      print HEADLINE
>      for exe, rich, stone in res:
> _______________________________________________
> pypy-svn mailing list
> pypy-svn at codespeak.net
> http://codespeak.net/mailman/listinfo/pypy-svn




More information about the Pypy-dev mailing list