Opened 6 years ago

Last modified 6 years ago

#27 closed task

Assist: Improve scanning of MLC array — at Version 2

Reported by: Andreas Schnellbacher Owned by: Andreas Schnellbacher
Priority: minor Milestone: 2.0 beta
Component: Other Version: 1.18
Keywords: assist match Cc:

Description (last modified by Andreas Schnellbacher)

Assist behavior is about 100 times too slow. Tests show that parts were executed multiple times.

Improvements are:

  1. In locateMLC, the search can be improved: Instead of simply starting at item 1 and advancing the counter by 1, it should start at the middle and then either decrease or increase it be the half value. (This is the largest improvement and a safe method has to be created.)
  1. In defproc locateMLC, fix multiple calls of the loop starting with 'do j = 1 to MLCListCount'. It apparently depends on the amount of MLCs in between a bracket start and end area. (This would be a large improvement and the culprit is currently not found.)
  1. locateMLC itself is called two times, for the opening and for the closing token (e.g. bracket). The second call is caused by a bracket-matching command. The corresponding token is highlighted then. (A minor improvement would be to start the search for the matching token at the pos. of the starting token instead of at the middle.)
  1. Improve other code, like using faster search options (g instead of x) if possible and optimize nested IF conditions in locateMLC. (This saves only about 20 % of the time.)

Change History (2)

comment:1 by Andreas Schnellbacher, 6 years ago

Owner: set to Andreas Schnellbacher
Status: newaccepted

comment:2 by Andreas Schnellbacher, 6 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.