mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-22 14:55:36 +08:00
Ref T280, sample to test if QHash or QMap for key callsign is faster
* QHash seems to be faster and is const * see also https://woboq.com/blog/qmap_qhash_benchmark.html
This commit is contained in:
@@ -13,10 +13,13 @@
|
||||
#ifndef BLACKSAMPLE_SAMPLESPERFORMANCE_H
|
||||
#define BLACKSAMPLE_SAMPLESPERFORMANCE_H
|
||||
|
||||
#include "blackmisc/aviation/aircraftsituationlist.h"
|
||||
#include "blackmisc/simulation/aircraftmodellist.h"
|
||||
#include "blackmisc/aviation/aircraftsituationlist.h"
|
||||
#include "blackmisc/aviation/callsignset.h"
|
||||
#include <QTextStream>
|
||||
#include <QtGlobal>
|
||||
#include <QMap>
|
||||
#include <QHash>
|
||||
|
||||
class QTextStream;
|
||||
|
||||
@@ -47,6 +50,9 @@ namespace BlackSample
|
||||
//! const QString vs. QStringLiteral
|
||||
static int samplesStringLiteralVsConstQString(QTextStream &out);
|
||||
|
||||
//! Callsign based hash/map comparison
|
||||
static int sampleQMapVsQHashByCallsign(QTextStream &out);
|
||||
|
||||
private:
|
||||
static const qint64 DeltaTime = 10;
|
||||
|
||||
@@ -85,6 +91,18 @@ namespace BlackSample
|
||||
|
||||
//! String list generated
|
||||
static QStringList replacedList();
|
||||
|
||||
//! Get n callsigns
|
||||
static BlackMisc::Aviation::CCallsignSet callsigns(int number);
|
||||
|
||||
//! Situations
|
||||
static const BlackMisc::Aviation::CAircraftSituationList situations(const BlackMisc::Aviation::CCallsignSet &callsigns);
|
||||
|
||||
//! Situations map
|
||||
static const QMap<BlackMisc::Aviation::CCallsign, BlackMisc::Aviation::CAircraftSituation> situationsMap(const BlackMisc::Aviation::CCallsignSet &callsigns);
|
||||
|
||||
//! Situations hash
|
||||
static const QHash<BlackMisc::Aviation::CCallsign, BlackMisc::Aviation::CAircraftSituation> situationsHash(const BlackMisc::Aviation::CCallsignSet &callsigns);
|
||||
};
|
||||
} // namespace
|
||||
|
||||
|
||||
Reference in New Issue
Block a user