From 6dc3c181b170685b860ea1a05fc543cc81bd3fcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Can=20G=C3=B6kmen?= <47925886+cangokmen@users.noreply.github.com> Date: Thu, 20 Nov 2025 00:31:58 -0500 Subject: [PATCH] Updated README --- README.md | 50 +++++++++++--------------------------------------- 1 file changed, 11 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index cb85c7c..e8a3c3a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# QuART +# Qu-ART -This repository contains an implementation of the Adaptive Radix Tree (ART) and several QuART (Quick Adaptive Radix Tree) variants with different fast-path strategies. +This repository contains an implementation of the Adaptive Radix Tree (ART) and several Qu-ART (Quick Adaptive Radix Tree) variants with different fast-path strategies. --- @@ -23,12 +23,7 @@ This repository contains an implementation of the Adaptive Radix Tree (ART) and Run the executables in `build` with the following options: -```shell -./main [-v] [-N ] -f -``` -```shell -./test_range_query [-v] [-N ] -f -``` + ```shell ./run [-v] [-N ] -f -t ``` @@ -44,16 +39,18 @@ Run the executables in `build` with the following options: ### Example ```shell -./main -N 1000000 -f ../bods/workloads/workload_N1000000_K90_L10.bin +./run -N 1000000 -f ../bods/workloads/workload_N1000000_K90_L10.bin ``` --- -## QuART Variants +## Qu-ART Variants - **ART**: Baseline Adaptive Radix Tree. -- **QuART_tail**: Standard QuART with tail optimization. -- **QuART_lil**: Standard QuART with lil optimization. +- **QuART_tail**: ART with tail optimization. +- **QuART_lil**: ART with lil optimization. +- **QuART_stail**: ART with stail optimization. +- **QuART_stail_reset**: ART with stail optimization, supports fp resets too. You can run each variant by using the `run` executable in `build/` with the `-t` option to select the tree type. For example: @@ -61,40 +58,15 @@ You can run each variant by using the `run` executable in `build/` with the `-t` ./run -f -N -t ART ./run -f -N -t QuART_tail ./run -f -N -t QuART_lil +./run -f -N -t QuART_stail +./run -f -N -t QuART_stail_reset ``` Replace `` and `` with your workload file and desired number of keys. --- -## How to Run Experiments - -To automate experiments and record results for all tree variants and workloads, use the provided shell script: - -```shell -bash run_experiments.sh -``` - -**Note:** -The script expects input files to be named in the form: -`workload_N{N}_K{K}_L{L}.bin` -and located in the `../bods/workloads/` directory (relative to the project root). - -This script will: -- Run all tree variants (ART, QuART_tail) on all workload files in `../bods/workloads/` -- Repeat each experiment multiple times and record the average insertion and query times -- Save results in the `results/` directory with a timestamped filename - -### Script Output - -- Results are written to a file like `results/results_YYYYMMDD_HHMMSS.txt` -- Each line contains: - `N,K,L,type_of_tree,avg_insert_time,avg_query_time` - ---- - ## Notes - Input files should be binary files containing 32-bit unsigned integer keys. - You can modify `run_experiments.sh` to change the number of repetitions, workload location, or which tree variants are tested. -- Results are saved in CSV format for easy analysis. \ No newline at end of file