toeverything / blocksuite

🧩 Content editing tech stack for the web - BlockSuite is a toolkit for building editors and collaborative applications.
https://blocksuite.io
Mozilla Public License 2.0
4.3k stars 386 forks source link

Perf metrics suite #5095

Closed doodlewind closed 3 weeks ago

doodlewind commented 10 months ago

See the great figma post about how the perf metrics system could be maintained within a single machine that lasts for years. With playwright, it would be ideal to setup this kind of perf metrics (editing operations using heavy content as test cases) a standalone repo and get regular reports.

image
regischen commented 10 months ago

notes: Areas for improvement include the points attribute in brush-element; when using the native array type, the drawing process updates entirely, leading to a rapid increase in size of encodeStateAsUpdate(doc). When using the Y.Array type, it updates incrementally. } However, the question remains: how significant is the impact of the size of encodeStateAsUpdate(doc) on performance?

regischen commented 10 months ago

note: For the group-element, when the children field is of the YMap type, it can be updated incrementally. However, is a plain-object more efficient in terms of encoding?