Optimize menu sorting

Sorting and deduplicating elements after all items have been registered
improves the time complexity of constructing the item list from O(n^2)
to O(n log n). On a system with about 4000 menu items, this reduces
startup time from about 0.21 seconds to 0.13 seconds.
This commit is contained in:
M Stoeckl 2024-10-31 09:23:26 -04:00
parent 12b8f83be4
commit 260eaba88e
5 changed files with 50 additions and 42 deletions

View file

@ -13,7 +13,7 @@ static void read_items(struct menu *menu) {
if (p) {
*p = '\0';
}
menu_add_item(menu, strdup(buf), false);
menu_add_item(menu, strdup(buf));
}
}