db-ojb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Armin Waibel <arm...@apache.org>
Subject Re: PersistentField implementations, dramatic performance differences
Date Fri, 25 Jun 2004 14:08:58 GMT
aah, you are the best! I wasn't aware of that. Thought this 
implementation use PFDirectAccessImpl.
I will try to extend a new PersistentFieldPrivilegedImpl from my local 
PFDirectAccessImpl and compare the results.

Armin

Jakob Braeuchi wrote:

> hi armin,
> 
> the problem is imo PersistentFieldPrivilegedImpl. see results for 30000 
> operations:
> 
> =========================================
> Field performance, set/get 30000 times a field
> ----------------------------------------
> PersistentFieldDirectAccessImpl: getter=15 setter=16
> PersistentFieldIntrospectorImpl: getter=31 setter=16
> PersistentFieldPrivilegedImpl: getter=577 setter=750
> PersistentFieldAutoProxyImpl: getter=548 setter=625
> ----------------------------------------
> PersistentFieldDirectAccessImpl: getter=0 setter=0
> PersistentFieldIntrospectorImpl: getter=0 setter=0
> PersistentFieldPrivilegedImpl: getter=561 setter=750
> PersistentFieldAutoProxyImpl: getter=577 setter=750
> ----------------------------------------
> .
> =========================================
> Nested Field performance, set/get 30000 times a nested field
> ----------------------------------------
> PersistentFieldDirectAccessImpl: nestedGetter=7203 nestedSetter=7219
> PersistentFieldIntrospectorImpl: nestedGetter=7484 nestedSetter=7703
> PersistentFieldPrivilegedImpl: nestedGetter=7375 nestedSetter=7579
> PersistentFieldAutoProxyImpl: nestedGetter=7796 nestedSetter=7860
> ----------------------------------------
> PersistentFieldDirectAccessImpl: nestedGetter=7250 nestedSetter=7689
> PersistentFieldIntrospectorImpl: nestedGetter=7672 nestedSetter=7266
> PersistentFieldPrivilegedImpl: nestedGetter=7250 nestedSetter=7594
> PersistentFieldAutoProxyImpl: nestedGetter=7171 nestedSetter=7609
> ----------------------------------------
> 
> Time: 148.844
> 
> OK (2 tests)
> 
> jakob
> 
> Armin Waibel wrote:
> 
>>  >
>>  > IMO you should check it in but perhaps only after the 1.0 (for 
>> 1.0.1) ?
>>  > Btw, could you also check the performance of the AutoProxy impl ?
>>
>> I tested this, results are unacceptable. See results in my first post.
>>
>> Armin
>>
>>
>> Thomas Dudziak wrote:
>>
>>> Armin Waibel wrote:
>>>
>>>> Hi all,
>>>>
>>>> yesterday I add nested fields support for 
>>>> PersistentFieldIntrospectorImpl (needs still some more tweaking I 
>>>> guess).
>>>> So I start writing a performance test for the PersistentField 
>>>> implementations to compare the average performance. I got really 
>>>> drastic results.
>>>>
>>>> The performance of non nested fields for 
>>>> PersistentFieldDirectAccessImpl is excellent, but the nested field 
>>>> performance is horrible - nested field performance is more than 240 
>>>> times slower than "normal" fields.
>>>>
>>>> After this I rewrite the PersistenceField implementation using 
>>>> direct field access (call PersistentFieldDirectAccessImpl_2). This 
>>>> class has the same performance for non-nested fields as the old 
>>>> version, but the nested field performance is only 3,7 time slower 
>>>> (or 66 times faster than the old one).
>>>> Additionally I rewrite the PersistentFieldIntrospectorImpl class and 
>>>> it now has a very good performance too.
>>>> All my results see below.
>>>>
>>>> All tests (for PFIntrospectorImpl some tests fail because the 
>>>> persistent classes are not conform to javabeans syntax) pass with 
>>>> the new implementations. But the implementations are not tested in 
>>>> real production environments.
>>>> Should I check in this stuff, not check in, check in under new class 
>>>> names?
>>>
>>>
>>>
>>>
>>> IMO you should check it in but perhaps only after the 1.0 (for 1.0.1) ?
>>> Btw, could you also check the performance of the AutoProxy impl ?
>>>
>>> Tom
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
>>> For additional commands, e-mail: ojb-dev-help@db.apache.org
>>>
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
>> For additional commands, e-mail: ojb-dev-help@db.apache.org
>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-dev-help@db.apache.org
> 
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org


Mime
View raw message