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