Guys,

We have benchmarked 2.9 without IGNITE-13060 and IGNITE-12568 (reverted it
locally) and got the same performance as on 2.8.1

IGNITE-13060 (Tracing) - some code was added to hot paths, to trace these
hot paths, it's clear why we have performance drop here.

IGNITE-12568 (MessageFactory refactoring) - switch/case block was
refactored to an array of message suppliers. The message factory is on the
hot path, which explains why this commit has an impact on total
performance.
I've checked JIT assembly output, done some JMH microbenchmarks, and found
that old implementation of MessageFactory.create() about 30-35% faster than
the new one. The reason - approach with switch/case can effectively inline
message creation code, but with an array of suppliers relatively heavy
"invokeinterface" cannot be skipped. I've tried to rewrite the code using
an abstract class for suppliers instead of an interface (to
replace "invokeinterface" with the "invokevirtual"), but it gives back only
10% of method performance and in this case, code looks ugly (lambdas can't
be used). Currently, I can't find any more ways to optimize the current
approach (except return to the switch/case block). Andrey Gura, as the
author of IGNITE-12568, maybe you have some ideas about optimization?

Perhaps we should revert IGNITE-12568, but there are some metrics already
created, which can't be rewritten using old message factory implementation
(IGNITE-12756). Guys, WDYT?

пт, 28 авг. 2020 г. в 01:52, Denis Magda <dma...@apache.org>:

> Looks beautiful and easy to use, thanks, Artem! Could you please add the
> following copyright to the footer of the pages?
>
> *© 2020 The Apache Software Foundation.*
> *Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are
> either registered trademarks or trademarks of The Apache Software
> Foundation. *
> *Privacy Policy*
>
> -
> Denis
>
>
> On Thu, Aug 27, 2020 at 5:20 AM Artem Budnikov <
> a.budnikov.ign...@gmail.com> wrote:
>
>> Hi everyone,
>>
>> We published the draft of Ignite 2.9 documentation on the Apache Ignite
>> web-site. The docs are available via the following link:
>>
>> https://ignite.apache.org/docs/2.9.0/installation/installing-using-docker
>>
>> Alex,
>>
>> Is there an estimate for the release date?
>>
>> -Artem
>>
>> On 26.08.2020 17:47, Alex Plehanov wrote:
>> > Denis,
>> >
>> > Currently, we are running mostly IgnitePutTxImplicitBenchmark without
>> > persistence. For other benchmarks drop is lower and it's harder to find
>> > problematic commit.
>> >
>> > ср, 26 авг. 2020 г. в 17:34, Denis Magda <dma...@apache.org>:
>> >
>> >> Alex,
>> >>
>> >> Thanks for sending an update. The drop is quite big. What are the
>> types of
>> >> benchmarks you are observing the degradation for (atomic puts,
>> >> transactions, sql, etc.)?
>> >>
>> >> Let us know if any help by particular committers is required.
>> >>
>> >> -
>> >> Denis
>> >>
>> >>
>> >> On Wed, Aug 26, 2020 at 12:26 AM Alex Plehanov <
>> plehanov.a...@gmail.com>
>> >> wrote:
>> >>
>> >>> Hello, guys!
>> >>>
>> >>> We finally have some benchmark results. Looks like there is more than
>> one
>> >>> commit with a performance drop. Detected drops for those commits only
>> >>> slightly higher than measurement error, so it was hard to find them
>> and
>> >> we
>> >>> are not completely sure we found them all and found them right.
>> >>>
>> >>> Drops detected:
>> >>> 2-3% drop on commit 99b0e0143e0 (IGNITE-13060 Tracing: initial
>> >>> implementation)
>> >>> 2-3% drop on commit 65c30ec6947 (IGNITE-12568 MessageFactory is
>> >> refactored
>> >>> in order to detect registration of message with the same direct type)
>> >>>
>> >>> The total drop we have on our environment - 7-8% and perhaps there is
>> >>> something else here (benchmarks still in progress, I will write if we
>> >> find
>> >>> more suspected commits).
>> >>>
>> >>> Ivan Artiukhov, can you please recheck mentioned above commits on your
>> >>> environment?
>> >>>
>> >>>
>> >>> чт, 20 авг. 2020 г. в 11:43, Ilya Kasnacheev <
>> ilya.kasnach...@gmail.com
>> >>> :
>> >>>
>> >>>> Hello!
>> >>>>
>> >>>> Readme.io uses blue book :)
>> >>>>
>> >>>> https://apacheignite.readme.io/docs/performance-tips
>> >>>>
>> >>>> I was thinking of something along a blue circle with `i' in it, for
>> >>>> information items.
>> >>>>
>> >>>> Regards,
>> >>>> --
>> >>>> Ilya Kasnacheev
>> >>>>
>> >>>>
>> >>>> ср, 19 авг. 2020 г. в 18:29, Artem Budnikov <
>> >> a.budnikov.ign...@gmail.com
>> >>>> :
>> >>>>
>> >>>>>> Search does not seem to work.
>> >>>>> It uses mockups right now, but it should be ready when the docs are
>> >>>>> released.
>> >>>>>
>> >>>>>> I can see that note blocks are just annotated with "Note." Can we
>> >>> have
>> >>>>> some
>> >>>>>> image there?
>> >>>>> Do you have a preference as to which image you would like to see
>> >> there?
>> >>>>> -Artem
>> >>>>>
>> >>>>> On 19.08.2020 17:37, Ilya Kasnacheev wrote:
>> >>>>>> Hello!
>> >>>>>>
>> >>>>>> Search does not seem to work. Are we going to have a proper search
>> >>>>> results
>> >>>>>> page? It is often the case that there's none.
>> >>>>>>
>> >>>>>> I can see that note blocks are just annotated with "Note." Can we
>> >>> have
>> >>>>> some
>> >>>>>> image there? Example is
>> >>>>>> http://64.227.57.229/docs/2.9.0/persistence/persistence-tuning
>> >>>>>>
>> >>>>>> Regards,
>>
>

Reply via email to