Files
gridcraft/docs
prxnvt b90710794a Engine: list stash items in one pass over the names
Each `stash::get` looks at every defined name, so listing the items
with `keys` and then reading each with `get` took time quadratic in
the number of names. A file with 20,000 hidden `_gc_macro_<i>_0`
names took about ten seconds in a debug build, and the macro list
reads its items this way from data that comes from the file.

`stash::items(wb, prefix)` now groups the names by item in one pass
and returns each item's text by key, and `keys` lists from the same
pass. Both return at most `MAX_ITEMS` (10,000) items, the first keys
in sorted order, so a file with any number of hidden names can't make
a listing unbounded. A test counts the names each listing looks at.
2026-10-24 00:55:07 -04:00
..
2026-10-22 03:05:18 +00:00
2026-10-22 03:05:39 +00:00
2026-10-22 03:05:39 +00:00
2026-10-22 03:05:39 +00:00
2026-10-22 03:05:18 +00:00
2026-10-22 03:05:18 +00:00
2026-10-15 08:31:40 +03:00
2026-10-22 03:05:39 +00:00
2026-10-23 10:11:33 -04:00