rofi/source
Tom Hinton af6a4b83eb Make normal filtering of plain ASCII lines faster
This patch adds a field lines_not_ascii to the MenuState structure. The
nth entry is 0 unless the nth member of MenuState.lines has a non-ascii
codepoint in it.

All comparison functions (menu_match_cb type) take an additional
argument to tell them if the thing they are matching is not_ascii. They
can use this to determine whether to collate and case-fold the
input (for non-ascii strings), or whether to use strstr/strcasestr (for
ascii strings).

The change is not currently implemented for flex matching, due to my
laziness. However, it should be a simple enough matter to add.

For my large input of 400,000 lines, this reduces typical filtering time
to about ten microseconds from about 2 seconds.
2015-10-01 12:16:41 +01:00
..
dialogs Make normal filtering of plain ASCII lines faster 2015-10-01 12:16:41 +01:00
helper.c Make normal filtering of plain ASCII lines faster 2015-10-01 12:16:41 +01:00
history.c Adjust new editor width 2015-09-19 12:57:48 +02:00
i3-support.c Adjust new editor width 2015-09-19 12:57:48 +02:00
keyb.c Playing with atom 2015-09-20 11:45:28 +02:00
rofi.c Make normal filtering of plain ASCII lines faster 2015-10-01 12:16:41 +01:00
scrollbar.c Use cairo to do drawing. 2015-09-26 20:34:34 +02:00
textbox.c Fix #237 add none style to separator style 2015-09-30 09:09:34 +02:00
x11-helper.c Parse name in textbox. 2015-09-28 21:41:58 +02:00
xrmoptions.c Add markup flag for dmenu. 2015-09-22 22:23:52 +02:00