folks, backends: use "small sets" instead of hash sets most of the time
Notable exceptions are:
* sets of personas that are, or might be, the entire set from a backend
(possible future refinement: use a SmallSet if there aren't many)
* sets of potentially many Individuals (likewise)
* the object cache (potentially pretty large)
* debug stuff (not relevant for performance)
* the set of IM addresses being matched (we want to keep this O(1),
but it should be a GHashTable)
This speeds up tests/eds/perf by around 5%.
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=687161
Reviewed-by: Philip Withnall <philip@tecnocode.co.uk>
[squashed in responses to review -smcv]
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
23 files changed: