Skip to content

Commit 2793301

Browse files
committed
added simple README.md providing build and run instructions
1 parent 7027b37 commit 2793301

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

README.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
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.

0 commit comments

Comments
 (0)