Changes between Version 1 and Version 2 of TEXT_PERFORMANCE_R0


Ignore:
Timestamp:
05/10/10 15:28:46 (15 years ago)
Author:
boyan
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TEXT_PERFORMANCE_R0

    v1 v2  
    1212  * Text processors - they should have a faster implementation. Currently their naive implementation processes the whole text after every keystroke, which is very slow. 
    1313  * Properties in BaseTextModel - they should be reduced as their constant re-computation causes slowdown. 
    14   * Mark and caret positions - ? 
    15  * Tests should be written to 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. 
    1616 
    1717== Task result == 
     
    1919 
    2020== 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). 
    2224 * 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. 
    2325 
    2426== Related == 
    2527TEXT_MODEL_REDESIGN[[BR]] 
    26 Other? 
    2728 
    2829== How to demo == 
    2930 * Show the better performance by pasting a large text and editing it. 
     31 * Run the performance tests written and describe the results. 
    3032 * (internal) Show and describe the implementation of one of the processors. 
    3133 * (internal) Show and describe the improved BaseTextModel.