I have a dataset with literally millions of entries (often 1 million to 1 billion, depending... it's LIDAR point data, if you care). Currently, my container is a QList of pointers because I need the best performance I can possibly achieve and I like being able to sort it conveniently using multiple parameters (using qStableSort), but insertion and deletion with array-based lists that large is incredibly slow.
Therefore, I am considering QLinkedList as an alternative for faster insertions/deletions, but the transition means redoing a significant amount of code since it's not indexed. I'm comfortable with using QMap and QHash, but I'm unfamiliar with QLinkedList and would like some feedback from you before I take the dive. This article (http://doc.qt.nokia.com/qq/qq19-containers.html) has been very helpful as I learn the nuances of Qt containers.
I do not need easy random access at this time, but I do need the ability to sort my data using multiple user-specified parameters—for example, sorting my point data by X, Y, then Z or by Day, Hour, then Second. As far as I can tell, the only way to accomplish this would be to generate sorted QLists (or QMaps?) on-demand, but I cannot determine a simple way to generate a QList from a QLinkedList other than manually iterating through the LinkedList and generating the QList one item at a time. Is there a more efficient way to accomplish this?
The sorting method can change during runtime. Thanks!
Bookmarks