On 2/25/07, Jens Vagelpohl <jens@dataflake.org> wrote:
Comparing the number of bytes served during a request and how much memory is consumed is a bit naive. You have *no* idea what all needs to be touched internally to serve that one object. The weightier the framework you run on to of Zope, the higher the chance that you're touching a whole lot of more or less related objects to serve the one you're interested in.
1) Some degree of naivete when looking at a problem is sometimes useful 2) I stated the amount served (which has some value as a lower bound) but also granted that the actual image object might have been loaded to serve the page, and offered hypotheses (2) and (3) which could fit your "explanation", so you're making me more naive than I was. Which begs the question if you read an understood what I wrote. 3) As for all the baggage that might be tied to an object in the ZODB, I will admit a lot of naivete there, but Zope's behavior should not be black magic. In the end, behavior has to be deterministic. So to say that one can have *no* idea of all that needs to be touched internally is a bit cynical; if I had sufficient time on my hands I could find out *exactly* what is being touched and where that memory is going. To throw ones hands in the air and say it's unknowable means that there's no way to know if something is broken. I will agree though that it may be very difficult to find out. 4) If by "You have *no* idea" you mean I, specifically, have no idea, but you do, then I partly agree (I know I don't, but I can't tell if you do from your answers so far). That's why I asked the questions. By the way it's not my intent to be hard on you Jens, on the contrary, I thank you very much for having taken the time to look at my questions. Your point is also well taken about just throwing memory at it and restarting before it runs out; I acknowledged that myself in my initial post. I am still the obstinate curious type who like to know though. Cheers, Jean