Changes between Version 1 and Version 2 of TEXT_PERFORMANCE_R0
- Timestamp:
- 05/10/10 15:28:46 (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TEXT_PERFORMANCE_R0
v1 v2 12 12 * Text processors - they should have a faster implementation. Currently their naive implementation processes the whole text after every keystroke, which is very slow. 13 13 * Properties in BaseTextModel - they should be reduced as their constant re-computation causes slowdown. 14 * Mark and caret positions - ?15 * Tests should be writtento show text processors performance. At later revisions, they should be extended to serve as profilers.14 * Mark and caret positions - when navigating through the text or typing, mark and caret positions are moved separately, which leads to processing the text twice. 15 * Tests should be extended to show text processors performance. At later revisions, they should be extended to serve as profilers. 16 16 17 17 == Task result == … … 19 19 20 20 == Implementation idea == 21 * Text processors can have an implementation similar to that of the "lazy views", i.e. they should not process text that is not visible. 21 * Text processors should not process the whole text but instead only the portion of it that has changed. 22 * The processedText property in BaseTextModel is computationally heavy and should be changed if possible. 23 * Mark and caret positions can be combined in a single property since they are the same in most cases (except selection). 22 24 * Text performance is best measured by running automatic tests. A set of predefined and fixed text resources should be created and used in the tests. Performance of each individual task should be tested - e.g. importing, typing, deleting, changing styles, chaining, wrapping, etc. 23 25 24 26 == Related == 25 27 TEXT_MODEL_REDESIGN[[BR]] 26 Other?27 28 28 29 == How to demo == 29 30 * Show the better performance by pasting a large text and editing it. 31 * Run the performance tests written and describe the results. 30 32 * (internal) Show and describe the implementation of one of the processors. 31 33 * (internal) Show and describe the improved BaseTextModel.