Use libxmlb to parse AppStream XML
The libxmlb library is much faster to load and query as it does not require the client to parse all the XML metadata at startup. It's a zero-copy mmap design that is more modern and less clunky. In case of memory pressure on low RAM machines, the compressed XML is evicted from memory and automatically reloaded when required. For a single operation, startup time has decreased by 40%, and RSS usage is down by a massive 78%. The GUI process has similar wins, with a reduction in startup time by 13% and RSS usage is down by 45%. This now means the idle process uses less than 50Mb with all plugins enabled.
Showing with 2262 additions and 1562 deletions
This diff is collapsed.