Hello https://codereview.qt-project.org/157714
I've just pushed one large commit that changes QDateTime to support a "short QDateTime Optimisation". Inspired by the SSO mechanism used in libc++ and similar to what we've done to QVersionNumber, I've made QDateTime not allocate memory for most uses (local time or UTC, within 2 million years of 1970). The optimisation is only for 64-bit systems, since QDateTime simply wasn't wide enough to accommodate the data. 32 bits isn't enough for storing seconds since 1970, much less milliseconds and the extra information we needed. But on 64-bit systems, the pointer is split in two: 8 bits for status flags (including the LSB indicating it's a short QDateTime) and 56 bits for the millisecond count. The commit is quite large. I will spend some time during the next week seeing if I can split it up into bite-sized chunks. Meanwhile, I'd like to ask for help testing this. Since I've dropped the use of QSharedDataPointer, I might have introduced sharing issues. And I'd really like someone to run the unit tests on a big-endian system. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
