QDateTime - Optimize refreshDateTime()
A small optimization to the private refreshDateTime() function, improves standard performance tests by 0.3 msecs per iteration for affected functions, e.g. isValid() and offsetFromUtc() improve from 5.4 to 5.1. Change-Id: Ie67812649ef244388b484af35848b09d92dee38a Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
1da1259c28
commit
24733dea6c
@ -2765,9 +2765,6 @@ void QDateTimePrivate::refreshDateTime()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// We have a valid date and time and a Qt::LocalTime or Qt::TimeZone that needs calculating
|
// We have a valid date and time and a Qt::LocalTime or Qt::TimeZone that needs calculating
|
||||||
QDate date;
|
|
||||||
QTime time;
|
|
||||||
getDateTime(&date, &time);
|
|
||||||
// LocalTime and TimeZone might fall into "missing" DaylightTime transition hour
|
// LocalTime and TimeZone might fall into "missing" DaylightTime transition hour
|
||||||
// Calling toEpochMSecs will adjust the returned date/time if it does
|
// Calling toEpochMSecs will adjust the returned date/time if it does
|
||||||
QDate testDate;
|
QDate testDate;
|
||||||
@ -2781,7 +2778,7 @@ void QDateTimePrivate::refreshDateTime()
|
|||||||
epochMSecs = zoneMSecsToEpochMSecs(m_msecs, m_timeZone, &testDate, &testTime);
|
epochMSecs = zoneMSecsToEpochMSecs(m_msecs, m_timeZone, &testDate, &testTime);
|
||||||
#endif // QT_BOOTSTRAPPED
|
#endif // QT_BOOTSTRAPPED
|
||||||
}
|
}
|
||||||
if (testDate == date && testTime == time) {
|
if (timeToMSecs(testDate, testTime) == m_msecs) {
|
||||||
setValidDateTime();
|
setValidDateTime();
|
||||||
// Cache the offset to use in toMSecsSinceEpoch()
|
// Cache the offset to use in toMSecsSinceEpoch()
|
||||||
m_offsetFromUtc = (m_msecs - epochMSecs) / 1000;
|
m_offsetFromUtc = (m_msecs - epochMSecs) / 1000;
|
||||||
|
Loading…
Reference in New Issue
Block a user