The two new UDS structures are similar to Frank's, but instead of using two vectors, use only one, with the index next to the data. The first structure uses linear access and in the autotests is the fastest.
The second structure uses binary access and scales better in the number of fields.
I've added to the last 3 test a new one to measure read time as used in KFileItemPrivate::cmp.
If you like one of the new structures, it can replace the one currently used in KIO::UDSEntryPrivate.