[Zope-dev] Memory problems with ParsedXML ?

Godefroid Chapelle gotcha@swing.be
Wed, 28 Mar 2001 22:58:58 +0200


Karl Anderson a =E9crit :

>
> Hm, it's been pointed out to me that the inefficiency of the get_size
> method of ParsedXML is compounded with many instances because the
> standard management interface uses it.
>
> It's possible that some stuff isn't getting garbage collected until
> the transaction is done, and calling get_size on many ParsedXML
> instances in one transaction is the problem.  I'll look into it.
>
> I didn't think that anyone would want to see a management screen with
> 2500 ParsedXML instances - or 2500 instances of anything - at one
> time. Have you tried using a BTree folder?
>
> Another thing to keep in mind is that the ParsedXML *product* is a DOM
> tree and a management interface around it.  The management interface
> only gives you a convenient UI and a place to store a few bits that
> the DOM doesn't know about (content type, namespace usage, etc.).
> It's always more efficient to just use the DOM tree and related
> utilities (parsing, printing), although it is less convenient - you
> have to know a little bit more about what you're doing.  Do you need
> each of those 2500 product instances?  See the createDOMDocument
> method to create a DOM document without the management interface.
>
> It's easy to wrap a ParsedXML product around an existing DOM tree -
> see the initFromDOMDocument method.  Currently, you have to create the
> persistent ParsedXML product which wraps the DOM Document node, and
> install that product in a Zope ObjectManager (or subclass like Folder)
> somewhere, to avoid a few warts.  Someday I'd like to be able to just
> instantiate a management wrapper when I want a management interface,
> and then just throw it away, without bothering to add it to a folder.
>
> --
> Karl Anderson                          karl@digicool.com

Thanks answering so quickly...

I am still a newbie and will check BTree Folder and the API you point to =
me.
--

Godefroid Chapelle

BubbleNet sprl
rue Victor Horta, 30
1348 Louvain-la-Neuve
Belgium

Tel 010 457490
Mob 0477 363942

TVA 467 093 008
RC Niv 49849