#include <QMap>
#include <QTime>
#include <QDebug>
int main(int argc, char **argv)
{
Q_UNUSED(argc);
Q_UNUSED(argv);
QTime startInsertionsTest1;
startInsertionsTest1.start();
qDebug() << "start insertion (insert/value): " << startInsertionsTest1;
QMap<int, QMap<QString, QString> > map1;
for (int i = 0; i < 1000; ++i) {
QMap<QString, QString> tempMap;
for (int j = 0; j < 1000; ++j)
map1.insert(i, tempMap);
}
const int test1 = startInsertionsTest1.elapsed();
qDebug() << "end: " << test1;
QTime startInsertionsTest2;
startInsertionsTest2.start();
qDebug() << "start insertion (operator []): " << startInsertionsTest2;
QMap<int, QMap<QString, QString> > map2;
for (int i = 0; i < 1000; ++i) {
QMap<QString, QString> tempMap;
for (int j = 0; j < 1000; ++j)
map2[i] = tempMap;
}
const int test2 = startInsertionsTest2.elapsed();
qDebug() << "end: " << test2;
QTime startInsertionsTest3;
startInsertionsTest3.start();
qDebug() << "start updatetion (insert/value): " << startInsertionsTest3;
for (int i = 0; i < 1000; ++i) {
QMap<QString, QString> tempMap(map1.value(i));
QMap<QString, QString>::iterator it(tempMap.begin());
for (; it != tempMap.end(); ++it)
it.value() = "a";
map1.insert(i, tempMap);
}
const int test3 = startInsertionsTest3.elapsed();
qDebug() << "end: " << test3;
QTime startInsertionsTest4;
startInsertionsTest4.start();
qDebug() << "start updatetion (operator []): " << startInsertionsTest4;
for (int i = 0; i < 1000; ++i) {
QMap<QString, QString> tempMap(map2[i]);
QMap<QString, QString>::iterator it(tempMap.begin());
for (; it != tempMap.end(); ++it)
it.value() = "a";
map1[i] = tempMap;
}
const int test4 = startInsertionsTest4.elapsed();
qDebug() << "end: " << test4;
qDebug() << "--------------------";
qDebug() << "insertion using (insert/value) time: " << test1;
qDebug() << "insertion using (operator[]) time: " << test2;
qDebug() << "insertion diff (insert/value - operator[]): " << test1 - test2;
qDebug() << "updation using (insert/value) time: " << test3;
qDebug() << "updation using (operator[]) time: " << test4;
qDebug() << "updation diff (insert/value - operator[]): " << test3 - test4;
return;
}
#include <QMap>
#include <QTime>
#include <QDebug>
int main(int argc, char **argv)
{
Q_UNUSED(argc);
Q_UNUSED(argv);
QTime startInsertionsTest1;
startInsertionsTest1.start();
qDebug() << "start insertion (insert/value): " << startInsertionsTest1;
QMap<int, QMap<QString, QString> > map1;
for (int i = 0; i < 1000; ++i) {
QMap<QString, QString> tempMap;
for (int j = 0; j < 1000; ++j)
tempMap.insert(QString::number(j), QString::number(j));
map1.insert(i, tempMap);
}
const int test1 = startInsertionsTest1.elapsed();
qDebug() << "end: " << test1;
QTime startInsertionsTest2;
startInsertionsTest2.start();
qDebug() << "start insertion (operator []): " << startInsertionsTest2;
QMap<int, QMap<QString, QString> > map2;
for (int i = 0; i < 1000; ++i) {
QMap<QString, QString> tempMap;
for (int j = 0; j < 1000; ++j)
tempMap[QString::number(j)] = QString::number(j);
map2[i] = tempMap;
}
const int test2 = startInsertionsTest2.elapsed();
qDebug() << "end: " << test2;
QTime startInsertionsTest3;
startInsertionsTest3.start();
qDebug() << "start updatetion (insert/value): " << startInsertionsTest3;
for (int i = 0; i < 1000; ++i) {
QMap<QString, QString> tempMap(map1.value(i));
QMap<QString, QString>::iterator it(tempMap.begin());
for (; it != tempMap.end(); ++it)
it.value() = "a";
map1.insert(i, tempMap);
}
const int test3 = startInsertionsTest3.elapsed();
qDebug() << "end: " << test3;
QTime startInsertionsTest4;
startInsertionsTest4.start();
qDebug() << "start updatetion (operator []): " << startInsertionsTest4;
for (int i = 0; i < 1000; ++i) {
QMap<QString, QString> tempMap(map2[i]);
QMap<QString, QString>::iterator it(tempMap.begin());
for (; it != tempMap.end(); ++it)
it.value() = "a";
map1[i] = tempMap;
}
const int test4 = startInsertionsTest4.elapsed();
qDebug() << "end: " << test4;
qDebug() << "--------------------";
qDebug() << "insertion using (insert/value) time: " << test1;
qDebug() << "insertion using (operator[]) time: " << test2;
qDebug() << "insertion diff (insert/value - operator[]): " << test1 - test2;
qDebug() << "updation using (insert/value) time: " << test3;
qDebug() << "updation using (operator[]) time: " << test4;
qDebug() << "updation diff (insert/value - operator[]): " << test3 - test4;
return;
}
To copy to clipboard, switch view to plain text mode
this is a result
Bookmarks