Deduplicate list-building code in QDateTime benchmark

Aside from the start-date and the end-date, and a variant with a
time-zone, the lists various tests were building were all built the
same way; so pack that up as a pair of functions (one without
time-zone, one with) to save duplication. Make the list in each
function const, ready for conversion of foreach loops to ranged for.

In the process, replace QList with QVector, reserve space before we
populate and use auto for the now-const list variables it's saved in.

Change-Id: I7d8cce459a4d6111cd645e8d3966ad769ab7e201
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
This commit is contained in:
Edward Welbourne 2019-08-29 15:24:52 +02:00
parent c78a716b72
commit 0556366ddb

View File

@ -29,6 +29,7 @@
#include <QDateTime> #include <QDateTime>
#include <QTimeZone> #include <QTimeZone>
#include <QTest> #include <QTest>
#include <QVector>
#include <qdebug.h> #include <qdebug.h>
class tst_QDateTime : public QObject class tst_QDateTime : public QObject
@ -49,6 +50,9 @@ class tst_QDateTime : public QObject
JULIAN_DAY_2060 = 2473460 JULIAN_DAY_2060 = 2473460
}; };
static QVector<QDateTime> daily(qint64 start, qint64 end);
static QVector<QDateTime> norse(qint64 start, qint64 end);
private Q_SLOTS: private Q_SLOTS:
void create(); void create();
void isNull(); void isNull();
@ -98,6 +102,25 @@ private Q_SLOTS:
void fromMSecsSinceEpochTz(); void fromMSecsSinceEpochTz();
}; };
QVector<QDateTime> tst_QDateTime::daily(qint64 start, qint64 end)
{
QVector<QDateTime> list;
list.reserve(end - start);
for (int jd = start; jd < end; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
return list;
}
QVector<QDateTime> tst_QDateTime::norse(qint64 start, qint64 end)
{
const QTimeZone cet("Europe/Oslo");
QVector<QDateTime> list;
list.reserve(end - start);
for (int jd = start; jd < end; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0), cet));
return list;
}
void tst_QDateTime::create() void tst_QDateTime::create()
{ {
QBENCHMARK { QBENCHMARK {
@ -110,9 +133,7 @@ void tst_QDateTime::create()
void tst_QDateTime::isNull() void tst_QDateTime::isNull()
{ {
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
test.isNull(); test.isNull();
@ -121,9 +142,7 @@ void tst_QDateTime::isNull()
void tst_QDateTime::isValid() void tst_QDateTime::isValid()
{ {
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
test.isValid(); test.isValid();
@ -132,9 +151,7 @@ void tst_QDateTime::isValid()
void tst_QDateTime::date() void tst_QDateTime::date()
{ {
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
test.date(); test.date();
@ -143,9 +160,7 @@ void tst_QDateTime::date()
void tst_QDateTime::time() void tst_QDateTime::time()
{ {
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
test.time(); test.time();
@ -154,9 +169,7 @@ void tst_QDateTime::time()
void tst_QDateTime::timeSpec() void tst_QDateTime::timeSpec()
{ {
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
test.timeSpec(); test.timeSpec();
@ -165,9 +178,7 @@ void tst_QDateTime::timeSpec()
void tst_QDateTime::offsetFromUtc() void tst_QDateTime::offsetFromUtc()
{ {
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
test.offsetFromUtc(); test.offsetFromUtc();
@ -176,9 +187,7 @@ void tst_QDateTime::offsetFromUtc()
void tst_QDateTime::timeZoneAbbreviation() void tst_QDateTime::timeZoneAbbreviation()
{ {
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
test.timeZoneAbbreviation(); test.timeZoneAbbreviation();
@ -187,9 +196,7 @@ void tst_QDateTime::timeZoneAbbreviation()
void tst_QDateTime::toMSecsSinceEpoch() void tst_QDateTime::toMSecsSinceEpoch()
{ {
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
test.toMSecsSinceEpoch(); test.toMSecsSinceEpoch();
@ -198,9 +205,7 @@ void tst_QDateTime::toMSecsSinceEpoch()
void tst_QDateTime::toMSecsSinceEpoch1950() void tst_QDateTime::toMSecsSinceEpoch1950()
{ {
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_1950, JULIAN_DAY_1960);
for (int jd = JULIAN_DAY_1950; jd < JULIAN_DAY_1960; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
test.toMSecsSinceEpoch(); test.toMSecsSinceEpoch();
@ -209,9 +214,7 @@ void tst_QDateTime::toMSecsSinceEpoch1950()
void tst_QDateTime::toMSecsSinceEpoch2050() void tst_QDateTime::toMSecsSinceEpoch2050()
{ {
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2050, JULIAN_DAY_2060);
for (int jd = JULIAN_DAY_2050; jd < JULIAN_DAY_2060; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
test.toMSecsSinceEpoch(); test.toMSecsSinceEpoch();
@ -220,11 +223,8 @@ void tst_QDateTime::toMSecsSinceEpoch2050()
void tst_QDateTime::toMSecsSinceEpochTz() void tst_QDateTime::toMSecsSinceEpochTz()
{ {
QTimeZone cet = QTimeZone("Europe/Oslo");
qint64 result; qint64 result;
QList<QDateTime> list; const auto list = norse(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0), cet));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
result = test.toMSecsSinceEpoch(); result = test.toMSecsSinceEpoch();
@ -234,11 +234,8 @@ void tst_QDateTime::toMSecsSinceEpochTz()
void tst_QDateTime::toMSecsSinceEpoch1950Tz() void tst_QDateTime::toMSecsSinceEpoch1950Tz()
{ {
QTimeZone cet = QTimeZone("Europe/Oslo");
qint64 result; qint64 result;
QList<QDateTime> list; const auto list = norse(JULIAN_DAY_1950, JULIAN_DAY_1960);
for (int jd = JULIAN_DAY_1950; jd < JULIAN_DAY_1960; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0), cet));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
result = test.toMSecsSinceEpoch(); result = test.toMSecsSinceEpoch();
@ -248,11 +245,8 @@ void tst_QDateTime::toMSecsSinceEpoch1950Tz()
void tst_QDateTime::toMSecsSinceEpoch2050Tz() void tst_QDateTime::toMSecsSinceEpoch2050Tz()
{ {
QTimeZone cet = QTimeZone("Europe/Oslo");
qint64 result; qint64 result;
QList<QDateTime> list; const auto list = norse(JULIAN_DAY_2050, JULIAN_DAY_2060);
for (int jd = JULIAN_DAY_2050; jd < JULIAN_DAY_2060; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0), cet));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
result = test.toMSecsSinceEpoch(); result = test.toMSecsSinceEpoch();
@ -262,9 +256,7 @@ void tst_QDateTime::toMSecsSinceEpoch2050Tz()
void tst_QDateTime::setDate() void tst_QDateTime::setDate()
{ {
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (QDateTime test, list) foreach (QDateTime test, list)
test.setDate(QDate::fromJulianDay(JULIAN_DAY_2010)); test.setDate(QDate::fromJulianDay(JULIAN_DAY_2010));
@ -273,9 +265,7 @@ void tst_QDateTime::setDate()
void tst_QDateTime::setTime() void tst_QDateTime::setTime()
{ {
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (QDateTime test, list) foreach (QDateTime test, list)
test.setTime(QTime(12, 0, 0)); test.setTime(QTime(12, 0, 0));
@ -284,9 +274,7 @@ void tst_QDateTime::setTime()
void tst_QDateTime::setTimeSpec() void tst_QDateTime::setTimeSpec()
{ {
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (QDateTime test, list) foreach (QDateTime test, list)
test.setTimeSpec(Qt::UTC); test.setTimeSpec(Qt::UTC);
@ -295,9 +283,7 @@ void tst_QDateTime::setTimeSpec()
void tst_QDateTime::setOffsetFromUtc() void tst_QDateTime::setOffsetFromUtc()
{ {
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (QDateTime test, list) foreach (QDateTime test, list)
test.setOffsetFromUtc(3600); test.setOffsetFromUtc(3600);
@ -307,9 +293,7 @@ void tst_QDateTime::setOffsetFromUtc()
void tst_QDateTime::setMSecsSinceEpoch() void tst_QDateTime::setMSecsSinceEpoch()
{ {
qint64 msecs = qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970 + 180) * MSECS_PER_DAY; qint64 msecs = qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970 + 180) * MSECS_PER_DAY;
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (QDateTime test, list) foreach (QDateTime test, list)
test.setMSecsSinceEpoch(msecs); test.setMSecsSinceEpoch(msecs);
@ -318,11 +302,8 @@ void tst_QDateTime::setMSecsSinceEpoch()
void tst_QDateTime::setMSecsSinceEpochTz() void tst_QDateTime::setMSecsSinceEpochTz()
{ {
QTimeZone cet = QTimeZone("Europe/Oslo");
QList<QDateTime> list;
const qint64 msecs = qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970 + 180) * MSECS_PER_DAY; const qint64 msecs = qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970 + 180) * MSECS_PER_DAY;
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd) const auto list = norse(JULIAN_DAY_2010, JULIAN_DAY_2020);
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0), cet));
QBENCHMARK { QBENCHMARK {
foreach (QDateTime test, list) foreach (QDateTime test, list)
test.setMSecsSinceEpoch(msecs); test.setMSecsSinceEpoch(msecs);
@ -331,9 +312,7 @@ void tst_QDateTime::setMSecsSinceEpochTz()
void tst_QDateTime::toString() void tst_QDateTime::toString()
{ {
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2011);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2011; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
test.toString(QStringLiteral("yyy-MM-dd hh:mm:ss.zzz t")); test.toString(QStringLiteral("yyy-MM-dd hh:mm:ss.zzz t"));
@ -342,9 +321,7 @@ void tst_QDateTime::toString()
void tst_QDateTime::toStringTextFormat() void tst_QDateTime::toStringTextFormat()
{ {
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2011);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2011; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
test.toString(Qt::TextDate); test.toString(Qt::TextDate);
@ -353,9 +330,7 @@ void tst_QDateTime::toStringTextFormat()
void tst_QDateTime::toStringIsoFormat() void tst_QDateTime::toStringIsoFormat()
{ {
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2011);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2011; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
test.toString(Qt::ISODate); test.toString(Qt::ISODate);
@ -364,10 +339,8 @@ void tst_QDateTime::toStringIsoFormat()
void tst_QDateTime::addDays() void tst_QDateTime::addDays()
{ {
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QDateTime next; QDateTime next;
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
next = test.addDays(1); next = test.addDays(1);
@ -377,10 +350,7 @@ void tst_QDateTime::addDays()
void tst_QDateTime::addDaysTz() void tst_QDateTime::addDaysTz()
{ {
QTimeZone cet = QTimeZone("Europe/Oslo"); const auto list = norse(JULIAN_DAY_2010, JULIAN_DAY_2020);
QList<QDateTime> list;
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0), cet));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
QDateTime result = test.addDays(1); QDateTime result = test.addDays(1);
@ -389,10 +359,8 @@ void tst_QDateTime::addDaysTz()
void tst_QDateTime::addMSecs() void tst_QDateTime::addMSecs()
{ {
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
QDateTime next; QDateTime next;
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
next = test.addMSecs(1); next = test.addMSecs(1);
@ -402,10 +370,7 @@ void tst_QDateTime::addMSecs()
void tst_QDateTime::addMSecsTz() void tst_QDateTime::addMSecsTz()
{ {
QTimeZone cet = QTimeZone("Europe/Oslo"); const auto list = norse(JULIAN_DAY_2010, JULIAN_DAY_2020);
QList<QDateTime> list;
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0), cet));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
QDateTime result = test.addMSecs(1); QDateTime result = test.addMSecs(1);
@ -414,9 +379,7 @@ void tst_QDateTime::addMSecsTz()
void tst_QDateTime::toTimeSpec() void tst_QDateTime::toTimeSpec()
{ {
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
test.toTimeSpec(Qt::UTC); test.toTimeSpec(Qt::UTC);
@ -425,9 +388,7 @@ void tst_QDateTime::toTimeSpec()
void tst_QDateTime::toOffsetFromUtc() void tst_QDateTime::toOffsetFromUtc()
{ {
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
test.toOffsetFromUtc(3600); test.toOffsetFromUtc(3600);
@ -438,9 +399,7 @@ void tst_QDateTime::daysTo()
{ {
const QDateTime other = QDateTime::fromMSecsSinceEpoch( const QDateTime other = QDateTime::fromMSecsSinceEpoch(
qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970) * MSECS_PER_DAY); qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970) * MSECS_PER_DAY);
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
test.daysTo(other); test.daysTo(other);
@ -451,9 +410,7 @@ void tst_QDateTime::msecsTo()
{ {
const QDateTime other = QDateTime::fromMSecsSinceEpoch( const QDateTime other = QDateTime::fromMSecsSinceEpoch(
qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970) * MSECS_PER_DAY); qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970) * MSECS_PER_DAY);
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
test.msecsTo(other); test.msecsTo(other);
@ -465,9 +422,7 @@ void tst_QDateTime::equivalent()
bool result; bool result;
const QDateTime other = QDateTime::fromMSecsSinceEpoch( const QDateTime other = QDateTime::fromMSecsSinceEpoch(
qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970) * MSECS_PER_DAY); qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970) * MSECS_PER_DAY);
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
result = (test == other); result = (test == other);
@ -480,9 +435,7 @@ void tst_QDateTime::equivalentUtc()
bool result = false; bool result = false;
const QDateTime other = QDateTime::fromMSecsSinceEpoch( const QDateTime other = QDateTime::fromMSecsSinceEpoch(
qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970) * MSECS_PER_DAY, Qt::UTC); qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970) * MSECS_PER_DAY, Qt::UTC);
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
result = (test == other); result = (test == other);
@ -495,9 +448,7 @@ void tst_QDateTime::lessThan()
bool result = false; bool result = false;
const QDateTime other = QDateTime::fromMSecsSinceEpoch( const QDateTime other = QDateTime::fromMSecsSinceEpoch(
qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970) * MSECS_PER_DAY); qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970) * MSECS_PER_DAY);
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
result = (test < other); result = (test < other);
@ -510,9 +461,7 @@ void tst_QDateTime::lessThanUtc()
bool result = false; bool result = false;
const QDateTime other = QDateTime::fromMSecsSinceEpoch( const QDateTime other = QDateTime::fromMSecsSinceEpoch(
qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970) * MSECS_PER_DAY, Qt::UTC); qint64(JULIAN_DAY_2010 - JULIAN_DAY_1970) * MSECS_PER_DAY, Qt::UTC);
QList<QDateTime> list; const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0)));
QBENCHMARK { QBENCHMARK {
foreach (const QDateTime &test, list) foreach (const QDateTime &test, list)
result = (test < other); result = (test < other);