Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [Dltk-dev] Re: Improving index for global functions

Hi Alex,

Thank you for your input.
I've just committed modified patch.
Code assist for '*' is running 10 times faster now!

PS: we need to do something similar for IField too :)

Thanks again.

On Tue, Apr 7, 2009 at 2:23 PM, Alex Panchenko <alex@xxxxxxxxx> wrote:
> Hi Michael,
>
> 1) Now there was single test failure in RubyFullNameSearchTests.
> It could be fixed with the following change in SearchPattern.createMethodOrConstructorPattern:
>
> if (findDeclarations) {
>        final char[][] packageNames;
>        if (declaringTypeQualification != null) {
>                packageNames = CharOperation.splitOn(processor
>                        .getDelimiterReplacementString().toCharArray(),
>                        declaringTypeQualification);
>        } else {
>                packageNames = CharOperation.NO_CHAR_CHAR;
>        }
>        int enclosingTypeCount = packageNames.length;
>        if (declaringTypeSimpleName != null) {
>                ++enclosingTypeCount;
>        }
>        final char[][] enclosingTypes;
>        if (enclosingTypeCount != 0) {
>                enclosingTypes = new char[enclosingTypeCount][];
>                System.arraycopy(packageNames, 0, enclosingTypes, 0,
>                                packageNames.length);
>                if (declaringTypeSimpleName != null) {
>                        enclosingTypes[enclosingTypeCount - 1] = declaringTypeSimpleName;
>                }
>        } else {
>                enclosingTypes = null;
>        }
>        return new MethodDeclarationPattern(enclosingTypes,
>                        selectorChars, matchRule, toolkit);
> }
>
> 2) It probably make sense to extract:
>
> static PackageNameSet internedPackageNames
> static class PackageNameSet
>
> and use them in both MethodDeclarationPattern and TypeDeclarationPattern.
>
> 3) In MethodDeclarationPattern.matchesDecodedKey(SearchPattern)
>
> Why is it required to compare pkg? I could not find any place where pkg is initialized.
>
> I think second check should be something like the following:
>
> if (enclosingTypeNames != null) {
>        if (pattern.enclosingTypeNames == null
>                        || pattern.enclosingTypeNames.length == 0
>                        || !matchesName(
>                                        enclosingTypeNames[enclosingTypeNames.length - 1],
>                                        pattern.enclosingTypeNames[pattern.enclosingTypeNames.length - 1])) {
>                return false;
>        }
> }
>
> So it would slightly optimize search for type + method pairs.
>
> I don't see other issues, so
> +1 (with my suggestions :-)
>
> Regards,
> Alex
>
> ----- Original Message -----
> From: "Michael Spector" <spektom@xxxxxxxxx>
> To: "DLTK Developer Discussions" <dltk-dev@xxxxxxxxxxx>
> Sent: Monday, April 6, 2009 9:02:35 PM GMT +06:00 Almaty, Novosibirsk
> Subject: Re: [Dltk-dev] Re: Improving index for global functions
>
> Hi Alex,
>
> Are there any news? We hope to add this patch before M7.
>
> Thanks.
>
> On Sun, Apr 5, 2009 at 4:07 PM, Michael Spector <spektom@xxxxxxxxx> wrote:
>> Hi Alex,
>>
>> Indeed, the work was incomplete. Thank you for pointing me out to the tests.
>> I've attached a new patch to the bug
>> (https://bugs.eclipse.org/bugs/show_bug.cgi?id=270808).
>>
>> Thanks!
>>
>> On Thu, Apr 2, 2009 at 9:50 PM, Alex Panchenko <alex@xxxxxxxxx> wrote:
>>> Hi Michael,
>>>
>>> We have 5 test failures in org.eclipse.dltk.tcl.core.tests.model.SearchTests. For example, one of them (testMethod002) is search for method declarations with pattern "a*::alfa".
>>>
>>> So, some exotic patterns need more debugging, I hope to look into these tests tomorrow.
>>>
>>> Regards,
>>> Alex
>>>
>>> ----- Original Message -----
>>> From: "Alex Panchenko" <alex@xxxxxxxxx>
>>> To: "DLTK Developer Discussions" <dltk-dev@xxxxxxxxxxx>
>>> Sent: Thursday, April 2, 2009 8:27:33 PM GMT +06:00 Almaty, Novosibirsk
>>> Subject: Re: [Dltk-dev] Re: Improving index for global functions
>>>
>>> Hi Michael,
>>>
>>> I have started to look at it, but have not finished yet, so I am going to continue with it tonight.
>>>
>>> Regards,
>>> Alex
>>>
>>> ----- Original Message -----
>>> From: "Michael Spector" <spektom@xxxxxxxxx>
>>> To: "DLTK Developer Discussions" <dltk-dev@xxxxxxxxxxx>
>>> Sent: Thursday, April 2, 2009 8:10:46 PM GMT +06:00 Almaty, Novosibirsk
>>> Subject: [Dltk-dev] Re: Improving index for global functions
>>>
>>> Anybody has a chance re-viewing the patch?
>>> Or the silence means: there are no objections? :)
>>>
>>> Thanks,
>>>
>>> On Wed, Apr 1, 2009 at 6:10 PM, Michael Spector <spektom@xxxxxxxxx> wrote:
>>>> Hi All,
>>>>
>>>> Please see the following bug:
>>>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=270808
>>>> I've proposed a patch to this bug (see attachment in the bug). I would
>>>> like to commit it, can someone review?
>>>>
>>>> Thanks!
>>>>
>>>> --
>>>> Best regards,
>>>> Michael
>>>>
>>>
>>>
>>>
>>> --
>>> Best regards,
>>> Michael
>>> _______________________________________________
>>> dltk-dev mailing list
>>> dltk-dev@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/dltk-dev
>>> _______________________________________________
>>> dltk-dev mailing list
>>> dltk-dev@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/dltk-dev
>>>
>>
>>
>>
>> --
>> Best regards,
>> Michael
>>
>
>
>
> --
> Best regards,
> Michael
> _______________________________________________
> dltk-dev mailing list
> dltk-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/dltk-dev
> _______________________________________________
> dltk-dev mailing list
> dltk-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/dltk-dev
>



-- 
Best regards,
Michael


Back to the top