On Wed, Dec 18, 2024 at 1:39 AM Xuelei Fan <xuele...@gmail.com> wrote:

> On Tue, Dec 17, 2024 at 6:45 PM Martin Balao <mba...@openjdk.org> wrote:
>
>> On Wed, 18 Dec 2024 00:35:38 GMT, Xue-Lei Andrew Fan <xue...@openjdk.org>
>> wrote:
>>
>> > Not to mention the performance impact.
>>
>> I am not sure if you mean the performance impact of having to make sure
>> that the Filter is not set, or the performance impact of having the Filter
>> disabled. For the latter, there won't be any impact.
>>
>
> I may not agree because the filter checking was inserted everywhere, and
> the checking will be performance 2 or more times for each service
> retrieval.  Even if the filter is disabled, the filter checking code is
> still there.
>

The calls that you see to ProvidersFilter::isAllowed include a fast-path to
handle a disabled filter. When the filter is disabled, the
ProvidersFilter::filter field is null. Because this field is final, it's
easy for a JIT compiler to remove calls altogether —the rest of
ProvidersFilter::isAllowed is dead code and the (empty) method can be
inlined—.

Reply via email to