Roché Compaan wrote at 2008-2-6 20:18 +0200:
>On Tue, 2008-02-05 at 19:17 +0100, Dieter Maurer wrote:
>> Roché Compaan wrote at 2008-2-4 20:54 +0200:
>> > ...
>> >I don't follow? There are 20000 insertions and there are 1338046 calls
>> >to persistent_id. Doesn't this suggest that there are 66 objects
>> >persisted per insertion? This seems way to high?
>> Jim told you that "persistent_id" is called for each object and not
>> only persistent objects.
>> An OOBucket contains up to 30 key value pairs, each of which
>> are subjected to a call to "persistent_id". In each of your pairs,
>> there is an additional persistent object. This means, you
>> should expect 3 calls to "persistent_id" for each pair in an "OOBucket".
>If I understand correctly, for each insertion 3 calls are made to
>"persistent_id"? This is still very far from the 66 I mentioned above?
You did not understand correctly.
You insert an entry. The insertion modifies (at least) one OOBucket.
The "OOBucket" needs to be written back. For each of its entries
(one is your new one, but there may be up to 29 others) 3
"persistent_id" calls will happen.
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org