[Dev] ZODB for object persistence [Was: ZODB is not a Storage
john at osafoundation.org
Mon Nov 11 10:35:10 PST 2002
Morgan wrote the the ZODB test program. I don't think he did a commit at
every creation. The way I was imagining using ZODB in Chandler, a commit
would happen once per "user command" and correspond to an undoable
action -- so if they should be relatively rare.
Morgen: can you post the details of your test program.
Jeremy Hylton wrote:
>>>>>>"JA" == John Anderson <john at osafoundation.org> writes:
> JA> My test program for object creation using ZODB4 goes from
> JA> somewhere around 20,000 objects created per second to 300 per
> JA> second once you throw in transactions. I'd like to use
> JA> transactions for undo and resource exaustion recovery.
>How did you throw in transactions? If, for example, you added a
>commit after every object creation, I think I'd be happy if you could
>achieve 300 creations/sec <0.3 wink>.
>A transaction is a relatively heavyweight operation and object
>creation is an incredibly lightweight operation. I'm sure transaction
>commits can be optimized, but it's still going to be a big hit if you
>use very fine-grained transactions. Do you think that's necessary for
>I'd also note that important parts of ZODB4, notably the object cache,
>are still using throw-away code written in Python. There's a reason
>we haven't released ZODB4 yet. For the Dec. alpha release, we'll have
>an object cache written in C that should improve performance. If
>you're looking to benchmark code, ZODB 3.1 will give you more
>PS My own crude benchmark (creation an object passing two args to
>classic class 118000 creations/sec
>new-style class 66700 creations/sec
>Persistent class 181 create+commit/sec (using FileStorage)
More information about the Dev