File tree Expand file tree Collapse file tree 1 file changed +50
-0
lines changed Expand file tree Collapse file tree 1 file changed +50
-0
lines changed Original file line number Diff line number Diff line change 1+ SIGMOD Programming Contest 2018: Code Generation
2+ ===
3+
4+ This repository contains a prototype for the [ SIGMOD Programming Contest 2018] ( http://sigmod18contest.db.in.tum.de/task.shtml ) .
5+ It is a showcase for code generation in databases and for [ COAT] ( https://github.com/tetzank/coat ) , an EDSL for C++ which makes code generation easier.
6+
7+ More details are explained in a [ blog post] ( https://tetzank.github.io/posts/codegen-in-databases/ ) .
8+
9+
10+ ## Build Instructions
11+
12+ Fetch the JIT engines LLVM and Asmjit, and build them (use more or less cores by changing ` -j ` , LLVM can take a while...):
13+ ```
14+ $ ./buildDependencies.sh -j8
15+ ```
16+
17+ Then, build the prototype with cmake:
18+ ```
19+ $ mkdir build
20+ $ cd build
21+ $ cmake ..
22+ $ make -j8
23+ ```
24+
25+ ## Run Instructions
26+
27+ Download and unpack the test workload from the contest:
28+ ```
29+ $ cd workloads
30+ $ ./download.sh
31+ ```
32+
33+ Afterwards, run the test workload:
34+ ```
35+ $ cd public
36+ $ ../../build/sig18 -t public.{init,work}
37+ ```
38+
39+ This runs the naive baseline with a tuple-at-a-time execution engine without code generation.
40+
41+ For Asmjit, run:
42+ ```
43+ $ ../../build/sig18 -a public.{init,work}
44+ ```
45+
46+ For LLVM, run:
47+ ```
48+ $ ../../build/sig18 -l3 public.{init,work}
49+ ```
50+ You can pick an optimization level from 0 to 3.
You can’t perform that action at this time.
0 commit comments