Benchmark Results
This document describes how to run and interpret the ChronDB SQL protocol benchmark tests.
About the Benchmark
The benchmark is designed to measure the performance of ChronDB's SQL protocol with large datasets (1GB+). It tests various SQL operations including:
SELECT with large data volumes
SEARCH queries (using WHERE clause with LIKE)
Queries with INNER JOIN
Queries with LEFT JOIN
INSERT operations
Running the Benchmark
Locally
To run the benchmark locally, use the provided script:
./scripts/run_benchmark.shThis will:
Generate approximately 1GB of test data
Run all benchmark operations
Save the results to a timestamped file (
benchmark_results_YYYY-MM-DD_HH-MM-SS.txt)
Via GitHub Actions
The benchmark can also be run automatically through GitHub Actions:
It runs automatically once a week (Sunday at midnight)
It can be manually triggered at any time through the GitHub interface:
Go to the "Actions" tab in the repository
Select the "SQL Protocol Benchmark" workflow
Click "Run workflow"
Results are available as workflow artifacts for 90 days.
Interpreting the Results
The results file contains detailed information about the performance of each SQL operation:
SELECT 1000 records: Time to fetch 1000 records from the main table
SEARCH records: Time to perform a query with LIKE filter
INNER JOIN query: Time to perform a query with INNER JOIN between tables
LEFT JOIN query: Time to perform a query with LEFT JOIN between tables
Average INSERT time: Average time to insert a complete document
Use these results to:
Compare performance between different versions of ChronDB
Identify performance bottlenecks in specific operations
Validate performance improvements after optimizations
Important Notes
The benchmark requires at least 4GB of available memory
The complete execution may take several minutes
Results may vary depending on hardware and execution environment
Benchmark failures do not impact CI/CD workflows (continue-on-error is enabled)
Last updated