[issue4896] Faster why variable manipulation in ceval.c

2018-06-03 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: This issue is outdated since moving unwinding of stack for "pseudo exceptions" from interpreter to compiler in issue17611. -- resolution: -> out of date stage: -> resolved status: open -> closed ___ Python trac

[issue4896] Faster why variable manipulation in ceval.c

2015-03-15 Thread Mark Lawrence
Mark Lawrence added the comment: I've finally remembered to attach the test output I got a week ago. If you want me to run Antoine's test suite with any specific parameters please feel free to ask. -- Added file: http://bugs.python.org/file38501/unpatched.txt

[issue4896] Faster why variable manipulation in ceval.c

2015-03-05 Thread STINNER Victor
STINNER Victor added the comment: > Where do we find "Antoine's suite of benchmarks"? https://hg.python.org/benchmarks -- ___ Python tracker ___ _

[issue4896] Faster why variable manipulation in ceval.c

2015-03-05 Thread Mark Lawrence
Mark Lawrence added the comment: Where do we find "Antoine's suite of benchmarks"? -- nosy: +serhiy.storchaka ___ Python tracker ___ __

[issue4896] Faster why variable manipulation in ceval.c

2014-06-15 Thread Raymond Hettinger
Raymond Hettinger added the comment: Before evaluating this further, the timings should be updated for the current 3.5 code and using the various compilers for the difference OSes. Also, it would be nice to run Antoine's suite of benchmarks. -- nosy: +haypo, rhettinger priority: norma

[issue4896] Faster why variable manipulation in ceval.c

2014-06-15 Thread Mark Lawrence
Mark Lawrence added the comment: I'm guessing that a patch to ceval.c that's this old wouldn't apply cleanly now. I'll rework it but only if the changes are highly likely to be accepted. Given the mixed results previously reported this is not guaranteed. Opinions please. -- nosy: +

[issue4896] Faster why variable manipulation in ceval.c

2010-05-20 Thread Skip Montanaro
Changes by Skip Montanaro : -- nosy: -skip.montanaro ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http://mai

[issue4896] Faster why variable manipulation in ceval.c

2009-01-16 Thread Paolo 'Blaisorblade' Giarrusso
Paolo 'Blaisorblade' Giarrusso added the comment: Given a 10% speedup on some systems, and statistically insignificant changes on other systems, I would still apply the patch, even simply because the bitmask part simply makes more sense. I'm not sure about the goto part, but still, it does stra

[issue4896] Faster why variable manipulation in ceval.c

2009-01-16 Thread Collin Winter
Collin Winter added the comment: Another data point: I've tested this patch applied to trunk on Core 2 Duo and Opteron 8214 HE machines using both gcc 4.0.3 and 4.3.1, and I'm seeing mixed results. Pybench with warp 1 is between ~1.5% slower and ~1% faster, depending on gcc version (fairly consi

[issue4896] Faster why variable manipulation in ceval.c

2009-01-16 Thread Jeffrey Yasskin
Changes by Jeffrey Yasskin : -- nosy: +collinwinter, jyasskin ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: ht

[issue4896] Faster why variable manipulation in ceval.c

2009-01-12 Thread Paolo 'Blaisorblade' Giarrusso
Changes by Paolo 'Blaisorblade' Giarrusso : -- nosy: +blaisorblade ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe

[issue4896] Faster why variable manipulation in ceval.c

2009-01-11 Thread Skip Montanaro
Skip Montanaro added the comment: pybench comparison... % ./python.exe Tools/pybench/pybench.py -s stock.out -c why.out - -- PYBENCH 2.0 --- *

[issue4896] Faster why variable manipulation in ceval.c

2009-01-11 Thread Skip Montanaro
Skip Montanaro added the comment: Pystone results: apply why patch py3k% rm $TMPDIR/*.[coi] ; make python.exe && rm -f /tmp/trash ; ./python.exe Lib/test/pystone.py rm: /tmp/*.[coi]: No such file or directory make: `python.exe' is up to date. Pystone(1.1) time for 5 passes = 1.08154 This

[issue4896] Faster why variable manipulation in ceval.c

2009-01-09 Thread Skip Montanaro
Skip Montanaro added the comment: >> I thought "why_not_here" was meaningful. Antoine> I don't know, when I see "goto why_not_here" it looks like a Antoine> joke to me :) Well, I think the enum name WHY_NOT is kind of a joke itself, but it's been that way for so long I see no reason to

[issue4896] Faster why variable manipulation in ceval.c

2009-01-09 Thread Antoine Pitrou
Antoine Pitrou added the comment: > I thought "why_not_here" was meaningful. I don't know, when I see "goto why_not_here" it looks like a joke to me :) > I don't think continue will work. The goto is coming out of an > inner loop. If you continue from there you just continue the inner loop.

[issue4896] Faster why variable manipulation in ceval.c

2009-01-09 Thread Skip Montanaro
Skip Montanaro added the comment: Antoine> The label "why_not_here" should be renamed to something more Antoine> meaningful IMO. Or you could just kill the label and use Antoine> "continue" instead. I thought "why_not_here" was meaningful. "Here" is where you go when why == WHY_NOT. I

[issue4896] Faster why variable manipulation in ceval.c

2009-01-09 Thread Antoine Pitrou
Antoine Pitrou added the comment: I get a 3% speedup on x86-64 with gcc 4.3.2. The label "why_not_here" should be renamed to something more meaningful IMO. Or you could just kill the label and use "continue" instead. -- nosy: +pitrou ___ Python track

[issue4896] Faster why variable manipulation in ceval.c

2009-01-09 Thread Daniel Diniz
Daniel Diniz added the comment: Neat, gives a 10% speedup on a Celeron M with gcc 4.2. -- nosy: +ajaksu2 versions: +Python 3.0, Python 3.1 Added file: http://bugs.python.org/file12669/gcc_4.2.4_linux_ia32_bench.txt ___ Python tracker

[issue4896] Faster why variable manipulation in ceval.c

2009-01-09 Thread Skip Montanaro
New submission from Skip Montanaro : The why_code enum in ceval.c has values which form a bit set. Comparison of the why variable against multiple values is going to be faster using bitwise operations instead of logical ones. For example, instead of why == WHY_RETURN || why == WHY_CONTINUE