From 7320969888fed9242842f4f843c3c0e8d13af305 Mon Sep 17 00:00:00 2001 From: Mathew Sutcliffe Date: Sat, 15 Oct 2016 17:58:47 +0100 Subject: [PATCH] Performance fix: rewrote an algorithm to be linear instead of quadratic. --- src/blackmisc/aviation/aircrafticaocodelist.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/blackmisc/aviation/aircrafticaocodelist.cpp b/src/blackmisc/aviation/aircrafticaocodelist.cpp index b07e6d712..c82ecf631 100644 --- a/src/blackmisc/aviation/aircrafticaocodelist.cpp +++ b/src/blackmisc/aviation/aircrafticaocodelist.cpp @@ -182,15 +182,14 @@ namespace BlackMisc QStringList CAircraftIcaoCodeList::allIcaoCodes(bool onlyKnownDesignators) const { - QStringList c; + QSet c; for (const CAircraftIcaoCode &icao : *this) { if (onlyKnownDesignators && !icao.hasKnownDesignator()) { continue; } const QString d(icao.getDesignator()); - if (c.contains(d)) { continue; } - c.append(d); + c.insert(d); } - return c; + return c.toList(); } CAircraftIcaoCodeList CAircraftIcaoCodeList::fromDatabaseJson(const QJsonArray &array, bool ignoreIncomplete)