This is the artifact for SIGMOD 2023 paper #561. Due to time constraints, we provide instructions to run only one set of experiments.
- Standard linux tools, like
make
,wget
etc. Please watch for errors and install any missing binaries. - Rust, installed with https://rustup.rs
- Any dependencies required to build DuckDB, including CMake, Python3 and a
C++11
compliant compiler. We include DuckDB's source code in this repository, with minimal modifiactions to produce machine-readable query plans. The Makefile builds DuckDB. - For plotting, install plotly and pandas (e.g. with pip/pip3).
Running make
after installing the dependencies will build the code and prepare the benchmark data.
The Makefile downloads the IMDB dataset from a third-party repository and may fail sometimes,
so it may be necessary to rerun make
.
If the download keeps failing, please obtain the IMDB dataset elsewhere, and place the tar ball
at the appropriate path according to the Makefile.
Then, execute make plot.html
to run the experiments. The results are plotted in plot.html which can be opened in a browser.
Our Rust implementation of Free Join is found under gj
.