summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDouglas Rumbaugh <dbr4@psu.edu>2024-05-14 16:18:28 -0400
committerDouglas Rumbaugh <dbr4@psu.edu>2024-05-14 16:18:28 -0400
commite4c7ec7bdfa09213a3d16968d91f2becf956ffe7 (patch)
treeb48b7e0e7a95cd2df0af01814f29c48b2c1d9ce7
parent096d2e3be15361af90257b69dae4b24f751dcab8 (diff)
downloaddynamic-extension-e4c7ec7bdfa09213a3d16968d91f2becf956ffe7.tar.gz
README update
-rw-r--r--README.md31
1 files changed, 22 insertions, 9 deletions
diff --git a/README.md b/README.md
index fedb32c..f0e9d68 100644
--- a/README.md
+++ b/README.md
@@ -12,8 +12,8 @@ The project is built using cmake. CMakeLists contains several flags that can
be used to customize the build. In particular, setting `debug` to true will
build without optimization, and with asan and ubsan enabled. The `tests`
and `benchmarks` flag can be used to toggle the construction of unit tests
-and benchmarks respectively. `old_bench` should be ignored--most of these won't
-build anymore anyway. Eventually that will be removed.
+and benchmarks respectively. The benchmarks specific to the VLDB 2024
+submission are built using the `vldb_bench` flag.
After configuring the build to your liking, make sure that you initialized the
git sub-modules first if you've just cloned the repository.
@@ -33,11 +33,19 @@ The unit test binaries will appear in `bin/tests/` and the benchmarks in
`bin/benchmarks/`.
## Available Benchmarks
-At present there are several benchmarks available in `benchmarks/`. Not every
-benchmark has been updated to build with the current version; these can be
-found in `benchmarks/old-bench/`. Most of the benchmarks will display a help
-message, showing what arguments they expect, if you run them without any
-arguments, or with the wrong number of arguments.
+The benchmarks relevant to the 2024 VLDB submission are located in
+`benchmarks/vldb`, and various other benchmarks are in `benchmarks`. The
+majority of the benchmark suite used for creating the figures in the VLDB
+submission can be run using the `bin/scripts/run_benchmarks.sh` script, which
+should be updated first with the locations of the desired data and query files.
+The main benchmark not automatically run by this script is
+`bin/benchmarks/ts_parmsweep`, which should be updated (by editing
+`benchmarks/vldb/ts_parmsweep`) to reflect the parameter values to test, and
+then run manually as desired.
+
+Most of the benchmarks will display a help message, showing what arguments they
+expect, if you run them without any arguments, or with the wrong number of
+arguments.
## Unit Tests
While test coverage is not perfect yet, there are some basic unit tests in
@@ -48,6 +56,11 @@ unit](https://libcheck.github.io/check/) test framework.
This is still an active research project, and so the interfaces are not yet
stable. Proper documentation will come when these interfaces stabilize
a little. In the meantime, the code will have to serve as the documentation.
-There are also a lot of comments in most of the files, though several are a bit
-light in that regard.
+
+Some of the most important files are `include/framework/DynamicExtension`,
+which contains the external interface of the framework, and
+`include/framework/interface/*`, which contains the necessary C++20
+concepts/interfaces for developing your own shards and queries. Any class
+implementing the appropriate interfaces can be used as template arguments to
+the DynamicExtension itself.