Thanks Erick!

It's done, it was as trivial as deleting a single word:
 https://issues.apache.org/jira/browse/LUCENE-6909

Sanne

On 24 November 2015 at 18:10, Erick Erickson <[email protected]> wrote:
> Sanne:
>
> Sure, please open a JIRA and add a patch. You'll need to create a user
> ID on the JIRA system, but that's a "self-serve" option.
>
> Best,
> Erick
>
> On Mon, Nov 23, 2015 at 8:21 AM, Sanne Grinovero
> <[email protected]> wrote:
>> Hello all,
>> I was looking into the source code for
>> org.apache.lucene.facet.FacetsConfig as it's being highlighted as an
>> hotspot of allocations during a performance analysis session.
>>
>> Our code was allocating a new instance of FacetsConfig for each
>> Document being built; there are several maps being allocated by such
>> an instance, both as instance fields and on the hot path of method
>> "#build(Document doc)".
>>
>> My understanding from reading the code is that it's designed to be
>> multi-threaded, probably to reuse one instance for a single index?
>>
>> That would resolve my issue with allocations at instance level, and
>> probably also the maps being allocated within the build method as the
>> JVM seems to be smart enough to skip those; at least that's my
>> impression with a quick experiment.
>>
>> However reusing this single instance across all threads would become a
>> contention point as all getters to read the field configurations are
>> synchronized.
>> Since the maps being read are actually safe ConcurrentMap instances, I
>> see no reason for the "synchronized", so really it just boils down to
>> a trivial patch to remove those on the reader methods.
>>
>> May I open a JIRA and propose a patch for that?
>>
>> As a second step, I'd also like to see if the build method could be
>> short-circuited for a quick return: in case there are no faceted
>> fields would be great to just return with the input document right
>> away.
>>
>> Thanks,
>> Sanne
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to