summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorDouglas B. Rumbaugh <dbr4@psu.edu>2024-05-14 16:31:05 -0400
committerGitHub <noreply@github.com>2024-05-14 16:31:05 -0400
commit47916da2ba5ed5bee2dda3cbcc58d39e1e931bfc (patch)
treeee5613ce182b2c9caa228d3abeb65dc27fef2db3 /README.md
parent4a834497d5f82c817d634925250158d85ca825c2 (diff)
parent8643fe194dec05b4e3f3ea31e162ac0b2b00e162 (diff)
downloaddynamic-extension-47916da2ba5ed5bee2dda3cbcc58d39e1e931bfc.tar.gz
Merge pull request #4 from dbrumbaugh/master
Updates for VLDB revision
Diffstat (limited to 'README.md')
-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.