This repository contains the code used for the QuickSel paper in a quite unorganized manner. The QuickSel paper appeared at the SIGMOD conference in 2020. The manuscript is also available from this arxiv link.
After cloning this repository, running make all
will build the project.
Java and Maven are used for this project; thus,
to build the project, you will need JDK and Apache Maven installed on your machine.
We provide some examples to compare the performance of QuickSel to others. After project is built successfully, you can run:
make exp_speed
to run the speed test on synthetic generated data.make exp_dmv
to run the test on DMV dataset.make exp_instacart
to run the test on Instacart dataset.make exp_scan
to run the test to compare with scan-based methods such as sampling and histogram.
The repository includes some other test code we wrote in the process of working on QuickSel. For example, src/cpp/qpsolver
includes JNI-based code for calling cvxopt
's Quadratic Programming (QP) solver. Since QuickSel analytically computes the solution, the JNI-based code is not currently needed. However, if you want to re-enable the QP feature, extra steps are required (which is not currently documented here).