Nyall Dawson 5fdb88bae3 Fix massive performance regression in attribute table
Follow up 56f7812ca1e

This commit fixed the ordering of features coming from the
vector layer cache for the attribute table, but came with a massive
speed impact due to the repeated calls QList::contains for
every feature fetched. For any moderately sized table or above
these calls stacked up into multiple minute delays in opening
the table.

Avoid this by tracking the added feature ids in a separate
unordered set, so that we don't need to check through the
ordered list for existing features at all.

Eg a 500k feature gpkg was taking 10 minutes to open the table.
With this optimization that's back down to 20 seconds.
2021-06-08 21:16:33 +10:00
..
2021-05-31 09:36:21 +02:00
2021-06-01 13:49:56 +07:00
2021-06-04 16:52:57 +02:00