Hi Michael,

this is fine for me. I would have made a prototype, but since Said is at
it, this is perfect. BTW, will your spec also address filtering?
I am not sure if AgileGrid does support filtering, so that might have to
go into the ContentProvider and will affect the getProrRow logic.

Regards,

Andreas

Am 07.06.2012 20:27, schrieb Michael Jastram:
> Hi Andreas,
>
> Yes, what you found is what we have right now.  This is still the
> original implementation that was put together quickly to see whether
> AgileGrid was worth pursuing in the first place.
>
> Actually, an even better implementation approach (then the one you
> proposed) would be to react to the EMF notifications and update the
> cache according to those (rather than just evicting the cache).
>
> I am currently supervising Said, a student, who is working on the
> content provider as part of his study requirements.  The
> ContentProvider is a very nice student project, as it is well defined
> and has a clean interface.  Before starting to work on the content
> provider, I requested from Said to write a suite of unit tests against
> the current implementation.  Before implementing a better content
> provider, we plan on creating a little spec that we plan on posting here.
>
> So unless there is urgency, I would propose to leave this to Said. 
> @Andreas, do you have a deadline for better performance?  @Said, what
> is your estimate of completion?
>
> Best,
>
> - Michael
>
>
> On 06/07/2012 04:52 PM, Andreas Graf wrote:
>> Dear all,
>>
>> in one of the issues in Bugzilla we have some bug entry for large
>> models.  I just had a look at some code and would like to see if what I
>> found is correct:
>>
>> * The ContentProvider provides data by getProrRow(int)
>> * This in turn calls recurseSpecHierarchyForRow(n),  which traverses the
>> entire model from beginning until it finds row n.
>>
>> That would mean, if a call for getProrRow(999) is followed gy a
>> getProrRow(1000), the entire model is traversed twice, summing up to
>> 1999 elements being
>> visited? So it is quadratic to the number of SpecHierarchies?
>>
>> We could not simply cache the data, since the model might change between
>> to calls of getProrRow(....). However, I was thinking of a helper class
>> in Xtext,
>> "OnChangeEvictingCache", which introduces a cache that is attached to an
>> EMF Resource and automatically cleared when that resource changed.
>> In addition, the algorithm could be updated a little bit so that , if
>> the resource did not change, it will continue where it left.
>>
>> Any objections or other design ideas?
>>
>> Andreas
>>
>
>
> -- 
> *Michael Jastram*     +49 (162) 274 83 94     http://jastram.de
> Geschäftsführer       Formal Mind GmbH        http://formalmind.com
> Wissenschaftler       Heinrich Heine Universität Düsseldorf
> http://www.stups.uni-duesseldorf.de
> <http://www.stups.uni-duesseldorf.de/w/Michael_Jastram>
> Vorsitzender  rheinjug e.V.   http://rheinjug.de
> Project Lead  Eclipse Requirements Modeling Framework
> http://eclipse.org/rmf
>
>
>
> _______________________________________________
> rmf-dev mailing list
> rmf-dev@eclipse.org
> http://dev.eclipse.org/mailman/listinfo/rmf-dev

-- 
Andreas Graf
Business Development Manager Automotive
Spokesperson Eclipse Automotive Industry WG
Mobil: +49 (0) 151-10860479 (preferred)
Tel.: +49 (0) 711 / 34 21 91-0
Fax.: +49 (0) 711 / 34 21 91-29


Web: http://www.itemis.de
Mail: andreas.g...@itemis.de
Xing: http://www.xing.com/profile/Andreas_Graf
Twitter: http://www.twitter.com/grafandreas
Blog: http://5ise.quanxinquanyi.de

itemis GmbH
Meitnerstr. 10
D-70563 Stuttgart
Rechtlicher Hinweis:
Amtsgericht Mannheim, HRB 50700996
Ust.Id.Nr.: DE250574762
Geschäftsführer: Sebastian Neus

_______________________________________________
rmf-dev mailing list
rmf-dev@eclipse.org
http://dev.eclipse.org/mailman/listinfo/rmf-dev

Reply via email to