Skip to content

Commit dc63f85

Browse files
committed
add benchmark for DltFileIndexer::run
1 parent d7d6762 commit dc63f85

File tree

6 files changed

+56
-5
lines changed

6 files changed

+56
-5
lines changed

qdlt/qdltfile.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ int QDltFile::sizeFilter() const
132132

133133
bool QDltFile::open(QString _filename, bool append)
134134
{
135-
qDebug() << "Open file" << _filename << "started";
135+
// qDebug() << "Open file" << _filename << "started";
136136

137137
/* check if file is already opened */
138138
if(!append)

src/CMakeLists.txt

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@ else()
1818
QT5_ADD_RESOURCES(UI_RESOURCES_RCC resources/resource.qrc)
1919
endif()
2020

21-
add_executable(dlt-viewer
22-
main.cpp
21+
add_library(dlt_common
2322
mainwindow.cpp
2423
project.cpp
2524
ecudialog.cpp
@@ -55,13 +54,23 @@ add_executable(dlt-viewer
5554
ecutree.cpp
5655
)
5756

58-
target_link_libraries(dlt-viewer
57+
target_link_libraries(dlt_common
5958
qdlt
6059
${QT_PREFIX}::Core
6160
${QT_PREFIX}::Network
6261
${QT_PREFIX}::Widgets
6362
${QT_PREFIX}::SerialPort)
6463

64+
target_include_directories(dlt_common
65+
PUBLIC
66+
.
67+
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/dlt_common_autogen/include>
68+
$<INSTALL_INTERFACE:include>
69+
)
70+
71+
add_executable(dlt-viewer main.cpp)
72+
target_link_libraries(dlt-viewer PRIVATE dlt_common)
73+
6574
if(CMAKE_COMPILER_IS_GNUCXX)
6675
# https://stackoverflow.com/questions/45329372/ubuntu-recognizes-executable-as-shared-library-and-wont-run-it-by-clicking
6776
# https://forum.juce.com/t/cmake-executable-build-shows-up-as-shared-library-on-linux-mint/45503/6
@@ -108,3 +117,13 @@ install(DIRECTORY
108117
COMPONENT dlt_viewer)
109118

110119
include(cmake/${CMAKE_SYSTEM_NAME}.cmake OPTIONAL)
120+
121+
find_package(GTest)
122+
# configure unit tests only if gtest found on the system
123+
if (GTest_FOUND)
124+
message(STATUS "Tests enabled")
125+
enable_testing()
126+
add_subdirectory(tests)
127+
endif()
128+
129+
add_subdirectory(benchmark)

src/benchmark/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
find_package(benchmark REQUIRED)
2+
3+
add_executable(bench_dltfileindexer bench_dltfileindexer.cpp)
4+
target_link_libraries(bench_dltfileindexer PRIVATE benchmark::benchmark dlt_common qdlt)
5+
6+
file(COPY testfile.dlt DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/ )
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#include "dltfileindexer.h"
2+
#include "qdltfile.h"
3+
4+
#include <benchmark/benchmark.h>
5+
6+
#include <filesystem>
7+
8+
static void DoSetup(const benchmark::State& /*state*/) { std::filesystem::remove_all("index/"); }
9+
10+
11+
static void BN_dltfileindexer_run(benchmark::State& state) {
12+
QString filename = "testfile.dlt";
13+
for (auto _ : state) {
14+
QDltFile dltFile{};
15+
dltFile.open(filename);
16+
QDltPluginManager pluginManager;
17+
pluginManager.loadPlugins(QString{});
18+
19+
DltFileIndexer fileIndexer{&dltFile, &pluginManager, nullptr, nullptr};
20+
fileIndexer.setFilterCacheEnabled(true);
21+
fileIndexer.run();
22+
}
23+
}
24+
BENCHMARK(BN_dltfileindexer_run)->Setup(DoSetup);
25+
26+
BENCHMARK_MAIN();

src/benchmark/testfile.dlt

4.37 KB
Binary file not shown.

src/mainwindow.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2346,7 +2346,7 @@ void MainWindow::applySettings()
23462346
if(dltIndexer)
23472347
dltIndexer->setFilterCacheEnabled(settings->filterCache);
23482348

2349-
// set DLT message chache size
2349+
// set DLT message cache size
23502350
qfile.setCacheSize(settings->msgCacheSize);
23512351

23522352
// set DLTv2 Support

0 commit comments

Comments
 (0)