[python-win32] Memory Consumption when running Python COM Script

Mark Hammond mhammond at skippinet.com.au
Mon Aug 28 14:17:06 CEST 2006


> > That is not expected.  _make_method_ stores a copy of the method in
> > self._builtMethods_ (line 309).  A further __getattr__ for
> that name should
> > locate it.  You may have found a 'bug' (or maybe it should
> be called an
> > un-optimization) when the default method name is used
> though - what is the
> > callstack?
>
> I've set a breakpoint on PyParser_ParseStringFlagsFilename. It gets
> called for every iteration of the loop, with the same arguments. For
> each call, the process memory usage grows by 4-5 K.

That's unfortunate.  It may be something specific to the AXScript support,
and I can't repro that using a 'normal' dynamic Dispatch object.  I ran out
of time to try and repro something similar with IE.

> > > Is is possible to use early binding (with the code generated from
> > > makepy) in a self-hosted python script?
> >
> > I'm not sure what you mean by 'self-hosted'.  If you mean
> py2exe, then that
> > tool supports a 'typelibs' attribute which can package and
> use makepy
> > generated files.  Google might help you there, but sadly
> the examples and
> > docs are a little light at the moment.
>
> I mean a self hosted script, running through an inproc ActiveScript
> python engine.
>
> This is related to the other question I have with AddTypeLib. The
> function doesn't seem to generate any python Code for the actual
> methods. I would like to use the complete typelib information (with
> method code) in a python script.

The intent is that all wrapper objects will be generated "on demand", as the
objects are referenced. Running 'makepy.py -d' does the same thing, as does
the various 'bForDemand' params used internally.

Mark



More information about the Python-win32 mailing list