Marc-Andre Lemburg <m...@egenix.com> added the comment:

On 2008-12-21 22:37, Antoine Pitrou wrote:
> New submission from Antoine Pitrou <pit...@free.fr>:
> 
> This patch prints opcode statistics at the end of a pybench run if
> DYNAMIC_EXECUTION_PROFILE has been enabled when compiling the interpreter.
> 
> Is it ok? Is it better to add it to the Benchmark class?

I don't think it's worth doing this for low-level and highly
artificial benchmarks like the ones run by pybench.

Opcode statistics are much better taken in real life applications,
e.g. let Django, Zope, etc. run for a day or two and then look
at the opcode statistics.

If at all, then opcode statistics should be an optional feature
enabled by a command line switch. I'd then create new methods
bench.start_opcode_stats(), bench.stop_opcode_stats() and
bench.get_opcode_stats().

Also note that this line will result in wrong results:

+            if opstats:
+                opstats = [new - old
+                    for new, old in zip(sys.getdxp(), opstats)]

It should be:

start_opstats = sys.getdxp()
...
stop_opstats = sys.getdxp()
opstats = [new_value - old_value
           for new_value, old_value in zip(stop_opstats, start_opstats]

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue4714>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to