Ckeditor5: Performance check

Created on 17 Jun 2016  Â·  7Comments  Â·  Source: ckeditor/ckeditor5

We did check the performance at the very beginning (https://github.com/ckeditor/ckeditor5-design/issues/65), but since then engine architecture changes a lot. We need to check it again. There are multiple aspects to be tests:

  • memory usage - we need to know how big document we can handle, how much memory "standard" document use,
  • conversion time - we should add more converters and check how much time it takes to load a big and complex document,
  • initialisation time - now it takes a lot of time because of 400-500 modules which need to be loaded, we should check it with a bundled version.
engine improvement task

Most helpful comment

Actually, we've been doing a bit of research recently because we noticed that the diff() function that we use to compare list of nodes during rendering is causing slowdowns more often than we thought.

I checked whether your scenario reported in ckeditor/ckeditor5#1398 falls into this category and it looks like it is.

Fortunately, we plan to improve the diff() function (by adding fast paths for some troublesome cases). There's big chance that it will solve your problem, although, it's hard now to tell whether it's the only problem.

All 7 comments

Another performance issue report (FF only): https://github.com/ckeditor/ckeditor5/issues/1377

@oleq @Reinmar
Are there any plans when these issues (especially the loading and conversion time problems) can be addressed? This has a huge impact to some of our customers. If these issues stay for longer we have to consider some architectural changes in our own application for the integration of CK.

Actually, we've been doing a bit of research recently because we noticed that the diff() function that we use to compare list of nodes during rendering is causing slowdowns more often than we thought.

I checked whether your scenario reported in ckeditor/ckeditor5#1398 falls into this category and it looks like it is.

Fortunately, we plan to improve the diff() function (by adding fast paths for some troublesome cases). There's big chance that it will solve your problem, although, it's hard now to tell whether it's the only problem.

We closed https://github.com/ckeditor/ckeditor5-utils/issues/269 today and there are huge improvements :) Renderer calls which now take less than 200ms took 10s+ before this change.

Those changes will be released in ~2-3 weeks.

I pushed some data for testing two scenarios:

Branch: https://github.com/ckeditor/ckeditor5/compare/i/3767

Was this page helpful?
0 / 5 - 0 ratings