[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