Advanced Chunk Processing Library
0.2.0
A comprehensive C++ library for advanced data chunking strategies and processing operations
Loading...
Searching...
No Matches
benchmark.cpp
Go to the documentation of this file.
1
/**
2
* @file benchmark.cpp
3
* @brief Implementation of benchmarking utilities
4
* @author Jonathan Reich
5
* @date 2024-12-07
6
*/
7
8
#include "
chunk.hpp
"
9
#include "
chunk_benchmark.hpp
"
10
#include "
chunk_strategies.hpp
"
11
#include "
chunk_strategy_implementations.hpp
"
12
#include <chrono>
13
#include <iostream>
14
#include <memory>
15
#include <vector>
16
17
template
<
typename
T>
18
void
run_benchmark
(
const
std::vector<T>& data) {
19
chunk_benchmark::ChunkBenchmark<T>
benchmark(data);
20
21
// Add different chunking strategies
22
benchmark.
add_strategy
(std::make_shared<
chunk_processing::NeuralChunkingStrategy<T>
>());
23
benchmark.
add_strategy
(std::make_shared<
chunk_processing::SimilarityChunkingStrategy<T>
>(0.5));
24
25
// Run benchmark and print results
26
auto
results = benchmark.
benchmark_chunking
();
27
for
(
const
auto
& result : results) {
28
std::cout <<
"Strategy: "
<< result.strategy_name <<
"\n"
29
<<
" Execution time: "
<< result.execution_time_ms <<
" ms\n"
30
<<
" Memory usage: "
<< result.memory_usage_bytes <<
" bytes\n"
31
<<
" Average chunks: "
<< result.num_chunks <<
"\n\n"
;
32
}
33
}
34
35
int
main
() {
36
// Example data for benchmarking
37
std::vector<int> data(1000);
38
for
(
size_t
i = 0; i < data.size(); ++i) {
39
data[i] =
static_cast<
int
>
(i % 10);
40
}
41
42
std::cout <<
"Running benchmark with integer data...\n"
;
43
run_benchmark
(data);
44
45
return
0;
46
}
run_benchmark
void run_benchmark(const std::vector< T > &data)
Definition
benchmark.cpp:18
main
int main()
Definition
benchmark.cpp:35
chunk.hpp
chunk_benchmark.hpp
Performance benchmarking tools for chunk processing.
chunk_strategies.hpp
Defines various strategies for chunking data based on different criteria.
chunk_strategy_implementations.hpp
chunk_benchmark::ChunkBenchmark
Definition
chunk_benchmark.hpp:26
chunk_benchmark::ChunkBenchmark::benchmark_chunking
std::vector< BenchmarkResult > benchmark_chunking()
Definition
chunk_benchmark.hpp:40
chunk_benchmark::ChunkBenchmark::add_strategy
void add_strategy(std::shared_ptr< chunk_processing::ChunkStrategy< T > > strategy)
Definition
chunk_benchmark.hpp:36
chunk_processing::NeuralChunkingStrategy
Definition
chunk_strategy_implementations.hpp:10
chunk_processing::SimilarityChunkingStrategy
Definition
chunk_strategy_implementations.hpp:38
src
benchmark.cpp
Generated on Sat Dec 28 2024 01:08:54 for Advanced Chunk Processing Library by
1.9.8