[Python-Dev] Dynamic bytecode analysis
damien morton
dmorton@bitfurnace.com
Thu, 27 Feb 2003 04:16:24 -0500
Im not sure how I could properly excersise Zope, and Mailman doesn't run
under windows. PySol is do-able. Any other suggestions as to apps worthy
of profiling?
Would the python standard library unit tests qualify?
> -----Original Message-----
> From: M.-A. Lemburg [mailto:mal@lemburg.com]
> Sent: Thursday, 27 February 2003 03:41
> To: Damien Morton
> Cc: python-dev@python.org
> Subject: Re: [Python-Dev] Dynamic bytecode analysis
>
>
> Damien Morton wrote:
> > So I enhanced the PVM dynamic execution profiler to keep track of
> > quads of instructions rather than just pairs. Running it on
> PyStone, I
> > get the following results:
>
> pystone is *not* your typical Python application. If you want
> some interesting data, I'd suggest to use applications like
> Zope, PySol, Mailman, etc. as basis.
>
> The easiest way to do this is by instrumenting the Python
> interpreter used by all these applications and have it write
> its data to a pickle every now and then. Here's an example
> from the Python 1.5 days:
>
> Opcode frequencies:
> --------------------------------------------------------------
> ----------
> SET_LINENO(127) : 12036
> ================================
> LOAD_FAST(124) : 10366 ===========================
> LOAD_ATTR(105) : 4565 ============
> LOAD_CONST(100) : 4549 ============
> POP_TOP( 1) : 3756 =========
> STORE_FAST(125) : 3580 =========
> CALL_FUNCTION(131) : 2558 ======
> JUMP_IF_FALSE(111) : 2142 =====
> LOAD_GLOBAL(116) : 2056 =====
> COMPARE_OP(106) : 2001 =====
> RETURN_VALUE( 83) : 1593 ====
> FOR_LOOP(114) : 1363 ===
> BINARY_ADD( 23) : 1133 ===
> STORE_NAME( 90) : 1062 ==
> JUMP_ABSOLUTE(113) : 835 ==
> MAKE_FUNCTION(132) : 753 ==
> SETUP_LOOP(120) : 568 =
> POP_BLOCK( 87) : 536 =
> JUMP_FORWARD(110) : 503 =
> 32( 32) : 442 =
> JUMP_IF_TRUE(112) : 438 =
> LOAD_NAME(101) : 425 =
> DUP_TOP( 4) : 421 =
> UNARY_NEGATIVE( 11) : 411 =
> SETUP_EXCEPT(121) : 410 =
> 31( 31) : 409 =
>
> --
> Marc-Andre Lemburg
> eGenix.com
>
> Professional Python Software directly from the Source (#1,
> Feb 27 2003)
> >>> Python/Zope Products & Consulting ...
> http://www.egenix.com/
> >>> mxODBC, mxDateTime, mxTextTools
> ... http://python.egenix.com/
> ______________________________________________________________
> __________
> Python UK 2003, Oxford:
> 33 days left
> EuroPython 2003, Charleroi, Belgium:
> 117 days left
>
>