Thank you very much for the fix.
I will download the code and put it to work (not waiting for 3.0.1 :) )
Cosmin
Andrus Adamchik wrote:
> Hi Cosmin,
>
> Thanks a lot for letting us know about the problem and for filing a
> Jira. I was able to reproduce it and even create a pretty chart in
> OpenOffice showing smooth linear slowdown. There was a piece of code
> in the ObjectStore with O(N) performance. Interestingly at the time
> when this code was written, I vaguely recall considering it a
> "performance optimization" :-)
>
> Anyways, I will commit a fix for 3.0 and 3.1 shortly. It will be
> included in the upcoming 3.0.1. My new chart is showing constant
> performance (even with a slight improvement as the number of objects
> goes up, probably due to HotSpot).
>
> Andrus
>
>
>
> On Jul 23, 2010, at 10:31 AM, Andrus Adamchik wrote:
>
>> I was going to take a look at this in any event, but feel free to
>> open a Jira. This will help to track it indeed.
>>
>> I wrote applications with Cayenne that insert millions of rows.
>> There's always some tweaking involved with high-end cases no matter
>> which framework you use.
>>
>> Andrus
>>
>>
>> On Jul 23, 2010, at 10:11 AM, Cosmin Marian wrote:
>>> Hello,
>>>
>>> I didn't have time to investigate this, mostly because I was busy
>>> moving parts of our persistence layer to openjpa (which is a pain to
>>> make work).
>>> Our server can make millions of insert per day so this problem
>>> prevents us from using Cayenne.
>>> When I will have some time I will try to debug it but meanwhile I
>>> was wondering if this at least was added as a bug so it will receive
>>> attention latter.
>>>
>>> Thanks,
>>> Cosmin
>>>
>>>
>>>
>>> Andrus Adamchik wrote:
>>>> You may try to compare profiles of individual loop runs. I.e. same
>>>> code, but different value of "i" and see where they differ.
>>>>
>>>> Andrus
>>>>
>>>>
>>>> On Jul 14, 2010, at 2:53 PM, cosmin.maria..odium-it.com wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> Yes, I am on Cayenne 3.0 release.
>>>>>
>>>>> I profiled the test but got a bit lost. Eclipse profiler is not
>>>>> very easy
>>>>> to use and cayenne is quite complex.
>>>>>
>>>>> From what I have seen, ObjectStore.postprocessAfterCommit() takes
>>>>> a lot of
>>>>> time.
>>>>>
>>>>> Actually, from my two tests (I set the relation -> slow, I don't
>>>>> set it ->
>>>>> constant time) I noticed that postprocessAfterCommit() takes much
>>>>> more
>>>>> time in the first case.
>>>>>
>>>>> If you have an idea on what to look for in a profile or for a
>>>>> better test,
>>>>> let me know, I will do the tests.
>>>>>
>>>>> Thanks,
>>>>> Cosmin
>>>>>
>>>>> Andrus Adamchik wrote:
>>>>>> This is odd indeed. Are you on Cayenne 3.0?
>>>>>>
>>>>>> I am not aware of this issue. All operations involved are
>>>>>> constant time
>>>>> ops regardless of the number of objects previously cached (such as
>>>>> entry
>>>>> lookup in a HashMap or a list.add(..) operation).
>>>>>>
>>>>>> So I may try to run this code in profiler to see why it is
>>>>>> slowing down.
>>>>> If you have access to a profiler and willing to profile it yourself,
>>>>> this will help a lot of course :-)
>>>>>>
>>>>>> Andrus
>>>>
>>>>
>>>
>>>
>>
>>
>
>
This archive was generated by hypermail 2.0.0 : Tue Jul 27 2010 - 08:01:48 UTC