Speed of QHash lookups using QStrings as keys.
Posted
by Ryan R.
on Stack Overflow
See other posts from Stack Overflow
or by Ryan R.
Published on 2010-04-26T13:18:22Z
Indexed on
2010/04/27
9:33 UTC
Read the original article
Hit count: 245
I need to draw a dynamic overlay on a QImage
. The component parts of the overlay are defined in XML and parsed out to a QHash<QString, QPicture>
where the QString is the name (such as "crosshairs") and the QPicture
is the resolution independent drawing. I then draw components of the overlay as they are needed at a position determined during runtime.
Example: I have 10 pictures in my QHash composing every possible element in a HUD. During a particular frame of video I need to draw 6 of them at different positions on the image. During the next frame something has changed and now I only need to draw 4 of them but 2 of those positions have changed.
Now to my question: If I am trying to do this quickly, should I redefine my QHash as QHash<int, QPicture>
and enumerate the keys to counteract the overhead caused by string comparisons; or are the comparisons not going to make a very big impact on performance? I can easily make the conversion to integer keys as the XML parser and overlay composer are completely separate classes; but I would like to use a consistent data structure across the application.
Should I overcome my desire for consistency and re-usability in order to increase performance? Will it even matter very much if I do?
© Stack Overflow or respective owner