diff options
Diffstat (limited to 'tests/benchmarks/startup/startup_bench.cpp')
-rw-r--r-- | tests/benchmarks/startup/startup_bench.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/tests/benchmarks/startup/startup_bench.cpp b/tests/benchmarks/startup/startup_bench.cpp index cdc754ec..9e734cf8 100644 --- a/tests/benchmarks/startup/startup_bench.cpp +++ b/tests/benchmarks/startup/startup_bench.cpp @@ -54,25 +54,21 @@ #include <functional> #include <stdio.h> -int runBenchmark(std::function<int()> f) { +int runBenchmark(std::function<qint64()> f) { { - QElapsedTimer t; - t.start(); - int r = f(); - if (r == 0) - printf("%d,", static_cast<int>(t.elapsed())); + auto r = f(); + if (r >= 0) + printf("%d,", static_cast<int>(r)); else - return r; + return -1; } { - QElapsedTimer t; - t.start(); - int r = f(); - if (r == 0) - printf("%d\n", static_cast<int>(t.elapsed())); + auto r = f(); + if (r >= 0) + printf("%d\n", static_cast<int>(r)); else - return r; + return -1; } return 0; @@ -83,14 +79,18 @@ int main(int argc, char *argv[]) { QtQuickControlsApplication app(argc, argv); - auto startup = [&app]() { + auto startup = [&app]() -> qint64 { + QElapsedTimer timer; + timer.start(); QQmlApplicationEngine engine(QUrl("qrc:/main.qml")); QObject::connect(&engine, &QQmlApplicationEngine::quit, QCoreApplication::instance(), &QCoreApplication::quit); engine.load(QUrl("qrc:/timer.qml")); if (engine.rootObjects().size() != 2) return -1; - return app.exec(); + if (app.exec() != 0) + return -1; + return timer.elapsed(); }; return runBenchmark(startup); |