diff options
author | David Faure <david.faure@kdab.com> | 2023-01-26 14:42:26 +0100 |
---|---|---|
committer | David Faure <david.faure@kdab.com> | 2023-02-02 20:43:59 +0100 |
commit | c609b8dba0ae43aeba142164684536f808aad501 (patch) | |
tree | cd7d83d187979e0c8a5b9cc5054829a91a529132 /tests/benchmarks/corelib | |
parent | ad42833d3373604eec885702f1bc4719593d7dcf (diff) |
QSortFilterProxyModel: port to PMF connects for performance reasons
BEFORE:
0.21 msecs per iteration (total: 56, iterations: 256)
801,946 CPU cycles per iteration (total: 801,946, iterations: 1)
AFTER:
0.084 msecs per iteration (total: 87, iterations: 1024)
300,259 CPU cycles per iteration (total: 300,259, iterations: 1)
Change-Id: I5b2703c217bb25e18f1d9f6a1eda19c60e1edcb0
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Diffstat (limited to 'tests/benchmarks/corelib')
-rw-r--r-- | tests/benchmarks/corelib/itemmodels/qsortfilterproxymodel/tst_bench_qsortfilterproxymodel.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/benchmarks/corelib/itemmodels/qsortfilterproxymodel/tst_bench_qsortfilterproxymodel.cpp b/tests/benchmarks/corelib/itemmodels/qsortfilterproxymodel/tst_bench_qsortfilterproxymodel.cpp index 76576fcf69..42017a30ec 100644 --- a/tests/benchmarks/corelib/itemmodels/qsortfilterproxymodel/tst_bench_qsortfilterproxymodel.cpp +++ b/tests/benchmarks/corelib/itemmodels/qsortfilterproxymodel/tst_bench_qsortfilterproxymodel.cpp @@ -31,6 +31,7 @@ class tst_QSortFilterProxyModel : public QObject private slots: void clearFilter_data(); void clearFilter(); + void setSourceModel(); private: QStringList m_numberList; ///< Cache the strings for efficiency. @@ -93,6 +94,19 @@ void tst_QSortFilterProxyModel::clearFilter() QCOMPARE(proxy.rowCount(), itemCount); } +void tst_QSortFilterProxyModel::setSourceModel() +{ + QStringListModel model1; + QStringListModel model2; + + QSortFilterProxyModel proxy; + + QBENCHMARK { + proxy.setSourceModel(&model1); + proxy.setSourceModel(&model2); + } +} + QTEST_MAIN(tst_QSortFilterProxyModel) #include "tst_bench_qsortfilterproxymodel.moc" |