Premium support for our pure JavaScript UI components


Post by asd »

Hi Bryntum Team,

Is there any performance metrics captured by you guys from 3.x version to 4.x version?

Also is the performance regressed from 3.1.9 version to latest version?

Because when we upgrade the Brytnum to latest in our application and measure the performance of events displayed/rendered in scheduler on load we see the performance to be degraded from 3.1.9.

Thanks,
Abhay


Post by mats »

We had a few performance regressions, but as far as we know they should be all fixed. Can you please describe how you notice the degradation?


Post by asd »

Hi Mats,

Our internal performance team ran the tests on 4.2.3 version comparing to 3.1.9 version, they highlighted the rendering/display of events for 33k events has degraded to around 12 sec to 15sec.

Our test use case is as below for 33k events,

So for 33k events there are 6 batches, each batch has 6 API requests which return 1000(this varies based on setting) events for each API, So in total each batch return 6k events.We then add 6k events to the scheduler. Then continue with the next batch until all the events are fetched.

With the above scenario we saw the performance to be degraded about 12sec to 15sec.

The only change to application was scheduler upgrade from 3.1.9 to 4.2.3.

Please check the performance numbers for above use case from your side and share.

Anyways as some of the fixes required are part of 4.2.4 we would re run the test on that and share the numbers again.Any ETA on 4.2.4 release?

Thanks,
Abhay


Post by mats »

Thanks for providing input, very valuable! 4.2.4 ETA is 1-2 days, you can already test the latest nightly build too - grab it from https://customerzone.bryntum.com/


Post by asd »

Hi,

Did you get the performance numbers for the above mentioned scenario?

We took the 4.2.4 and ran the performance comparing with 3.1.9 version, we see there is huge performance degradation.

The method "store.eventStore.add(EVENT_ARR)" for 5k events with 3.1.9 version it was taking around 9miliseconds, and with same data for 4.2.4 it has doubled to 17miliseconds.

Also after the events added to the store, and events displayed on scheduler there is delay of 4 sec with 5k events data.Once the events are added to the store the scheduler is blank the events gets displayed only after 4sec.

Thanks,
Abhay


Post by Maxim Gorkovsky »

Hello.
I tried generating 33k events in scheduler 3.1.9 and 4.2.4. 3.1.9 takes about 90s and 4.2.4 handles same data in 16. As far as I can see, performance fixes that we implemented to handle performance issues in your previous report, are still in place and do work: viewtopic.php?f=51&t=18015&start=20

Could you please provide us a runnable test case? You can generate data objects locally instead of loading them in batches. It would be perfect to see performance benchmark that you use locally, assuming you generate data, not load it from the backend. Because so far we cannot reproduce the problem you are facing.


Post by asd »

We do see performance improvement with 4.2.4, Earlier the events were itself not loading on scheduler or browser would hang. Now I don't see that browser hang issue, but we do still see performance degraded from 3.1.9.

Did you guys capture the time taken to load 33k events after the fix? What was the result?

As mentioned in prev comment for the load of 5k the "store.add" in 3.1.9 it was taking 9 milliseconds and in 4.2.4 it is taking 17 milliseconds.


Post by Maxim Gorkovsky »

Do you really mean that 5k events are loading in 17milliseconds? That is a single animation frame, 1/60s of second. On my local machine it takes 27ms just to generate 5k JS objects. And after that 3.1.9 takes 2.5 seconds to load the data and latest nightly build takes 1.1s. Which is greater by two orders of magnitude.

I'm using snippet from this ticket: https://github.com/bryntum/support/issues/3131

To investigate your problem we need to see what you're doing on your end. Please provide a runnable test case and we will check it.


Post by asd »

Loading of 5k events is not 17milliseconds, what i mentioned was adding 5k events to the store with "store.eventStore.add("EVENT_ARR")" method is taking 17milliseconds with 4.2.4 which has been regressed from 3.1.9.

This is one of the instance I can see where it has regressed, overall for loading of 5k events on the scheduler it takes 5sec longer than 3.1.9.

Trying to create a runnable test case, but this is straight scenario where you try to load events with "store.eventStore.add("EVENT_ARR")" method and compare it with 3.1.9 and 4.2.4.


Post by Maxim Gorkovsky »

Sorry for the confusion. By loading I meant adding to the store like in the snippet. And I see significant performance improvement in 4.2.4 compared to 3.1.9.

Where do you take number 17 milliseconds? I must say that we would be happy if events would load that fast. Because simply creating native JS objects takes almost twice longer.


Post Reply