Hi, Dawid, what do you think about something between not having cache at all and implementing dedicated PHPSelectionEngine.getTypes() method? I think about removing elements filtration just for PHPSelectionEngine. It would look more or less like this: http://pastebin.com/c1q1LNi4
This solution works for problem with hyperlinks from same namespace. I just don't now how it will affect the performance. Michal On Tue, Sep 2, 2014 at 3:13 PM, Dawid Paku ła <zu...@w3des.net> wrote: > Hi, > > PHPModelUtils.getTypes() have really strange implementation. I plan to > change it while resolving bug 438091. > > I see two options for PHPSelectionEngine: > > 1. Remove cache usage from PHPModelUtils.getTypes() calls. Simple, cache > will be used only for type hierarchy and TI while selection. > 2. Implement PHPSelectionEngine.getTypes(). This method can internally use > IModelAccessCache.getTypes(). Harder, but should work faster with large > projects. > > -- > Dawid Paku la > > On 1 September 2014 at 21:04:27, Michał Niewrzał (micha...@zend.com) > wrote: > > Dawid, thanks for details. I understand problem with namespace > implementation, but does moving implementation from IType to > IPackageDeclaration will solve issue with classes from the same namespace? > I think namespaces will be still filtered with generic method from > PerFileAccessCache, > or I miss something? :) > > Michal > > > On Mon, Sep 1, 2014 at 8:37 PM, Dawid Paku ła <zu...@w3des.net> wrote: > >> Hi, >> >> PerFileAccessCache is highly used with TI (Type Inference) and CA (Code >> Assist). Filtering to current source module make sense with this processes. >> For example If you are looking for MCurrentClass, current file should have >> a priority. Filters also reduces index lookup. Unfortunately namespaces are >> registered as types [1]. >> >> I introduced usage of PerFileModelCache in php selection engine while >> resolving bug 436907 [2], without this selections are very expensive on >> large projects. >> >> >> [1] - http://eclip.se/440965 >> [2] - http://eclip.se/436907 >> >> -- >> Dawid Paku la >> >> On 1 September 2014 at 20:03:43, Michał Niewrzał (micha...@zend.com) >> wrote: >> >> Hi, >> >> Does anyone know the reason why results of getTypes method >> in PerFileModelAccessCache are filtered? I'm working with >> https://bugs.eclipse.org/bugs/show_bug.cgi?id=442964 and it looks that >> when I'm trying to hyperlink class from the same namespace this >> class/namespace is filtered from search results. Filter is using source >> module and if one element matches to source module then all elements must >> match. If there are no matching element to source module then all elements >> are valid. Probably I didn't explain it very clear :) Filtering method I >> was talking about >> https://github.com/eclipse/pdt/blob/master/plugins/org.eclipse.php.core/src/org/eclipse/php/internal/core/model/PerFileModelAccessCache.java#L117 >> >> I will be grateful for help :) >> Michal >> _______________________________________________ >> pdt-dev mailing list >> pdt-dev@eclipse.org >> To change your delivery options, retrieve your password, or unsubscribe >> from this list, visit >> https://dev.eclipse.org/mailman/listinfo/pdt-dev >> >> >> _______________________________________________ >> pdt-dev mailing list >> pdt-dev@eclipse.org >> To change your delivery options, retrieve your password, or unsubscribe >> from this list, visit >> https://dev.eclipse.org/mailman/listinfo/pdt-dev >> > > _______________________________________________ > pdt-dev mailing list > pdt-dev@eclipse.org > To change your delivery options, retrieve your password, or unsubscribe > from this list, visit > https://dev.eclipse.org/mailman/listinfo/pdt-dev > > > _______________________________________________ > pdt-dev mailing list > pdt-dev@eclipse.org > To change your delivery options, retrieve your password, or unsubscribe > from this list, visit > https://dev.eclipse.org/mailman/listinfo/pdt-dev >
_______________________________________________ pdt-dev mailing list pdt-dev@eclipse.org To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/pdt-dev