Hi Richard,

I checked out the latest from master and installed it, but the unit test still 
fails in the same way.

Cheers
Mario

> On 3 Nov 2020, at 11.07, Mario Juric <mario.ju...@cactusglobal.com> wrote:
>
> Thanks for the info Richard.
>
> This is good to know, so we’ll stick with uimaFIT for now. Given some of the 
> things I read about it, I expected the SelectFS to be faster, but to be sure 
> I also intended to make my own performance measurements as part of these 
> initial steps, therefore its nice that you already did this, which saves me 
> the time.
>
> Still, I will checkout the latest from master to see if it fixes the issue I 
> encountered. I guess we would still want to remove any bugs, if this turns 
> out to be the case.
>
> Cheers
> Mario
>
>
>> On 3 Nov 2020, at 10.30, Richard Eckart de Castilho <r...@apache.org> wrote:
>>
>> External email – Do not click links or open attachments unless you recognize 
>> the sender and know that the content is safe.
>>
>>
>> Btw...
>>
>>> On 2. Nov 2020, at 22:16, Mario Juric <mario.ju...@cactusglobal.com> wrote:
>>>
>>> jCas.select(annotationType).coveredBy(annotation)
>>
>> I did some local speed measurements and in particular for the "coveredBy" 
>> selector,
>> SelectFS is presently a good deal slower than the uimaFIT equivalent. I 
>> didn't look
>> into speeding up SelectFS.coveredBy yet, but for the moment, you just might 
>> want to
>> stick with the uimaFIT version of selectCovered.
>>
>> There is a "benchmark" module in the uimaFIT source repo which contains a 
>> few tentative
>> performance measurements.
>>
>> ==================
>> JCas selectCovered (using uimaFIT JCasUtil.select and selectCovered)
>> ==================
>>
>>   new Benchmark("JCas selectCovered", template)
>>     .measure(() -> select(jcas, Sentence.class).forEach(s -> 
>> selectCovered(Token.class, s)))
>>     .run();
>>
>> Running benchmark... 10 100 1000 10000
>>
>> [     10/     20: min:    0 max:    2 median:    0 fail:    0 ]
>> [    100/     20: min:    0 max:    1 median:    0 fail:    0 ]
>> [   1000/     20: min:    4 max:   25 median:    5 fail:    0 ]
>> [  10000/     20: min:  170 max:  696 median:  193 fail:    0 ]
>>
>> The 10, 100, 1000, etc are the numbers of annotations in the CAS (randomly 
>> generated Tokens/Sentences).
>> The 20 indicates how often the given lambda was measured.
>>
>>
>> =====================
>> JCas select.coveredBy v3 (using SelectFS select and coveredBy)
>> =====================
>>
>>   new Benchmark("JCas select.coveredBy v3", template)
>>     .measure(() -> {
>>         jcas.select(Sentence.class).forEach(s -> 
>> jcas.select(Token.class).coveredBy(s).forEach(t -> {}));
>>     })
>>   .run();
>>
>> Running benchmark... 10 100 1000 10000
>>
>> [     10/     20: min:    0 max:    4 median:    0 fail:    0 ]
>> [    100/     20: min:    1 max:   45 median:    2 fail:    0 ]
>> [   1000/     20: min:   15 max:   87 median:   24 fail:    0 ]
>> [  10000/     20: min:  862 max: 2919 median: 1310 fail:    0 ]
>>
>>
>> These numbers are from my local branches. The code in the master branches 
>> might behave slightly differently.
>>
>> Cheers,
>>
>> -- Richard
>


________________________________
Disclaimer:
This email and any files transmitted with it are confidential and directed 
solely for the use of the intended addressee or addressees and may contain 
information that is legally privileged, confidential, and exempt from 
disclosure. If you have received this email in error, please notify the sender 
by telephone, fax, or return email and immediately delete this email and any 
files transmitted along with it. Unintended recipients are not authorized to 
disclose, disseminate, distribute, copy or take any action in reliance on 
information contained in this email and/or any files attached thereto, in any 
manner other than to notify the sender; any unauthorized use is subject to 
legal prosecution.

Reply via email to