Is your feature request related to a problem? Please describe.
Diffing many lines in the console (for example, UI Automation without visible range bounding) reduces performance to the point of unusability (the diffs are comparing lists of 10,000 lines each). This can also be observed in less extreme examples. This long diffing time blocks NVDA.
Describe the solution you'd like
Refactor LiveText to use diff-match-patch instead of difflib. In my limited testing this takes diffing time from well over 30 seconds (I hit CTRL+c) to about a second.
Describe alternatives you've considered
None.
Is your feature request related to a problem? Please describe.
Diffing many lines in the console (for example, UI Automation without visible range bounding) reduces performance to the point of unusability (the diffs are comparing lists of 10,000 lines each). This can also be observed in less extreme examples. This long diffing time blocks NVDA.
Describe the solution you'd like
Refactor
LiveTextto use diff-match-patch instead ofdifflib. In my limited testing this takes diffing time from well over 30 seconds (I hit CTRL+c) to about a second.Describe alternatives you've considered
None.