From 1a5c0b26d062a380fef1bb038a9d96cde7556dc6 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Wed, 8 Oct 2014 11:35:24 +0200 Subject: Don't use QStringLiteral in comparisons For QLatin1String, operator== is overloaded, so comparing to a latin-1 (C) string literal is efficient, since strlen() is comparatively fast. OTOH, QStringLiteral, when not using RVO, litters the code with QString dtor calls, which are not inline. Worse, absent lambdas, it even allocates memory. So, just compare using QLatin1String instead. Change-Id: I7af3bf3a67c55dae33ffaf9922d004fa168a3f9c Reviewed-by: Thiago Macieira --- src/corelib/tools/qdatetime.cpp | 4 ++-- src/corelib/tools/qtimezone.cpp | 2 +- src/corelib/tools/qtimezoneprivate_tz.cpp | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'src/corelib') diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp index 66d2ad9111..75f2a93e45 100644 --- a/src/corelib/tools/qdatetime.cpp +++ b/src/corelib/tools/qdatetime.cpp @@ -196,7 +196,7 @@ static void rfcDateImpl(const QString &s, QDate *dd = 0, QTime *dt = 0, int *utc min = rex.cap(5).toInt(); sec = rex.cap(6).toInt(); } - positiveOffset = (rex.cap(7) == QStringLiteral("+")); + positiveOffset = (rex.cap(7) == QLatin1String("+")); hourOffset = rex.cap(8).toInt(); minOffset = rex.cap(9).toInt(); } @@ -217,7 +217,7 @@ static void rfcDateImpl(const QString &s, QDate *dd = 0, QTime *dt = 0, int *utc min = rex.cap(4).toInt(); sec = rex.cap(5).toInt(); } - positiveOffset = (rex.cap(7) == QStringLiteral("+")); + positiveOffset = (rex.cap(7) == QLatin1String("+")); hourOffset = rex.cap(8).toInt(); minOffset = rex.cap(9).toInt(); } diff --git a/src/corelib/tools/qtimezone.cpp b/src/corelib/tools/qtimezone.cpp index 0f8f4937b9..99061ea6ea 100644 --- a/src/corelib/tools/qtimezone.cpp +++ b/src/corelib/tools/qtimezone.cpp @@ -935,7 +935,7 @@ QDataStream &operator>>(QDataStream &ds, QTimeZone &tz) { QString ianaId; ds >> ianaId; - if (ianaId == QStringLiteral("OffsetFromUtc")) { + if (ianaId == QLatin1String("OffsetFromUtc")) { int utcOffset; QString name; QString abbreviation; diff --git a/src/corelib/tools/qtimezoneprivate_tz.cpp b/src/corelib/tools/qtimezoneprivate_tz.cpp index f93b17f505..d1ef769414 100644 --- a/src/corelib/tools/qtimezoneprivate_tz.cpp +++ b/src/corelib/tools/qtimezoneprivate_tz.cpp @@ -940,9 +940,9 @@ QByteArray QTzTimeZonePrivate::systemTimeZoneId() const QString line; while (ianaId.isEmpty() && !ts.atEnd() && ts.status() == QTextStream::Ok) { line = ts.readLine(); - if (line.left(5) == QStringLiteral("ZONE=")) { + if (line.startsWith(QLatin1String("ZONE="))) { ianaId = line.mid(6, line.size() - 7).toUtf8(); - } else if (line.left(9) == QStringLiteral("TIMEZONE=")) { + } else if (line.startsWith(QLatin1String("TIMEZONE="))) { ianaId = line.mid(10, line.size() - 11).toUtf8(); } } -- cgit v1.2.3