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 File Reference

Implementation of benchmarking utilities. More...

#include "chunk.hpp"
#include "chunk_benchmark.hpp"
#include "chunk_strategies.hpp"
#include "chunk_strategy_implementations.hpp"
#include <chrono>
#include <iostream>
#include <memory>
#include <vector>
+ Include dependency graph for benchmark.cpp:

Go to the source code of this file.

Functions

int main ()
 
template<typename T >
void run_benchmark (const std::vector< T > &data)
 

Detailed Description

Implementation of benchmarking utilities.

Author
Jonathan Reich
Date
2024-12-07

Definition in file benchmark.cpp.

Function Documentation

◆ main()

int main ( )

Definition at line 35 of file benchmark.cpp.

35 {
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}
void run_benchmark(const std::vector< T > &data)
Definition benchmark.cpp:18

References run_benchmark().

◆ run_benchmark()

template<typename T >
void run_benchmark ( const std::vector< T > &  data)

Definition at line 18 of file benchmark.cpp.

18 {
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}

References chunk_benchmark::ChunkBenchmark< T >::add_strategy(), and chunk_benchmark::ChunkBenchmark< T >::benchmark_chunking().

Referenced by main().