File: regularexpcachebenchmark.cpp

package info (click to toggle)
baloo-kf5 5.103.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 4,880 kB
  • sloc: cpp: 25,143; sh: 23; xml: 15; makefile: 9
file content (44 lines) | stat: -rw-r--r-- 875 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*
    SPDX-FileCopyrightText: 2014 Vishesh Handa <me@vhanda.in>

    SPDX-License-Identifier: LGPL-2.1-or-later
*/

#include "regexpcache.h"
#include "fileexcludefilters.h"

#include <QTest>
#include <QDir>
#include <QDirIterator>

class RegularExpCacheBenchmark : public QObject
{
    Q_OBJECT
private Q_SLOTS:
    void test();
};

void RegularExpCacheBenchmark::test()
{
    RegExpCache regex;
    regex.rebuildCacheFromFilterList(Baloo::defaultExcludeFilterList());

    QBENCHMARK {
        QDirIterator iter(QDir::home(), QDirIterator::Subdirectories);
        int amt = 5000;
        while (iter.hasNext()) {
            if (!amt) {
                break;
            }

            amt--;
            iter.next();
            regex.exactMatch(iter.fileName());
        }

    }
}

QTEST_GUILESS_MAIN(RegularExpCacheBenchmark)

#include "regularexpcachebenchmark.moc"