A few select performance improvements for selections
This patch series contains some optimizations on code paths used while selecting text.
Attached is a test using xdotool which tries to select many lines while scrolling (using the AutoScrollHandler behavior, which sends synthetic mouse events when dragging outside the display area, to allow extending the selection). Below are the results for 5 runs at each stage of applying the series.
The numbers are, in order: "Top line at start of test" "Top line at end of test" "Number of scrolled lines"
6138b547 Sync docs with the command line help (proposal by Michael Butler)
9040 6984 2056
9040 6980 2060
9040 6992 2048
9040 6976 2064
9040 6988 2052
7cebee1a Don't check profile for every selected character
9040 6917 2123
9040 6910 2130
9040 6911 2129
9040 6911 2129
9040 6913 2127
c9641f58 Don't create a QString for every char in decodeLine
9040 6635 2405
9040 6627 2413
9040 6626 2414
9040 6629 2411
9040 6640 2400
711e77a9 Avoid moving memory around in copyLineToStream
9040 6637 2403
9040 6626 2414
9040 6628 2412
9040 6635 2405
9040 6622 2418
cbbcb562 Don't get the selection to check if it is empty
9040 3234 5806
9040 3230 5810
9040 3234 5806
9040 3234 5806
9040 3232 5808
See also: !431 (comment 286344)
selection_performance_test.sh selection_performance_test_stage2.sh