My processing thread bottlenecks at its read/write operations. Currently I have it set up simply using QDataStream's << and >> operators since I thought that Qt cached everything for speed.

Basically, my program loads an existing binary file into a QList of data records, does stuff with those records, then overwrites a different existing file with the records. The input and output files are extremely organized binary databases (ASPRS LAS 1.2 files if you're curious), so it lends itself well to further optimization.

Profiling my program's processing thread with Very Sleepy brings up QFile::setPermissions as the highest user by a large margin, but I never muck around with the permissions. According to the QFile documentation (, the NTFS permissions checking should be disabled by default. Am I missing something here?