Comment 5 for bug 1283471

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

One downside to the example you gave above is that the pointers are only useful for equality. They don't help us get rid of expensive associative data structures like QMap and QHash -- they just speed up the comparisons that those structures do (qHash of pointer instead of string for QHash, operator< for integer instead of string for QMap). We could drop the cost of these associative lookups by an order of magnitude if we were able to do direct memory lookups by the handle.

An atom that is defined as an integer that starts at 0 and increases would allow us to use a QVarLengthArray with a more-than-expected-channels pre-allocation. Then we could have (group -> data) associative containers with essentially no cost.

WDYT?