├── .gitignore ├── Makefile ├── README.md ├── doc ├── final │ ├── acm.cls │ ├── bfratio.png │ ├── fanout.png │ ├── final.pdf │ ├── final.tex │ ├── merge-graphic.pptx │ ├── merge.png │ └── presentation.pptx └── midway │ ├── acm.cls │ ├── chart.png │ ├── midway.pdf │ └── midway.tex ├── generator ├── data_types.h ├── generator.c └── logo.h ├── lib └── thread_pool.h ├── scripts ├── evaluate.py ├── profile.py └── test.py ├── src ├── bloom_filter.cpp ├── bloom_filter.h ├── buffer.cpp ├── buffer.h ├── level.h ├── lsm_tree.cpp ├── lsm_tree.h ├── main.cpp ├── merge.cpp ├── merge.h ├── run.cpp ├── run.h ├── spin_lock.h ├── sys.cpp ├── sys.h ├── types.h ├── worker_pool.cpp └── worker_pool.h ├── test ├── test-1 │ ├── in │ └── out ├── test-2 │ ├── in │ └── out ├── test-3 │ ├── data.bin │ ├── in │ └── out ├── test-4 │ ├── in │ └── out ├── test-5 │ ├── in │ ├── out │ └── params └── test-6 │ ├── in │ ├── out │ └── params └── tmp └── .gitkeep /.gitignore: -------------------------------------------------------------------------------- 1 | bin/ 2 | tmp/ 3 | .DS_Store 4 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/README.md -------------------------------------------------------------------------------- /doc/final/acm.cls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/doc/final/acm.cls -------------------------------------------------------------------------------- /doc/final/bfratio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/doc/final/bfratio.png -------------------------------------------------------------------------------- /doc/final/fanout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/doc/final/fanout.png -------------------------------------------------------------------------------- /doc/final/final.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/doc/final/final.pdf -------------------------------------------------------------------------------- /doc/final/final.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/doc/final/final.tex -------------------------------------------------------------------------------- /doc/final/merge-graphic.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/doc/final/merge-graphic.pptx -------------------------------------------------------------------------------- /doc/final/merge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/doc/final/merge.png -------------------------------------------------------------------------------- /doc/final/presentation.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/doc/final/presentation.pptx -------------------------------------------------------------------------------- /doc/midway/acm.cls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/doc/midway/acm.cls -------------------------------------------------------------------------------- /doc/midway/chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/doc/midway/chart.png -------------------------------------------------------------------------------- /doc/midway/midway.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/doc/midway/midway.pdf -------------------------------------------------------------------------------- /doc/midway/midway.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/doc/midway/midway.tex -------------------------------------------------------------------------------- /generator/data_types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/generator/data_types.h -------------------------------------------------------------------------------- /generator/generator.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/generator/generator.c -------------------------------------------------------------------------------- /generator/logo.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/generator/logo.h -------------------------------------------------------------------------------- /lib/thread_pool.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/lib/thread_pool.h -------------------------------------------------------------------------------- /scripts/evaluate.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/scripts/evaluate.py -------------------------------------------------------------------------------- /scripts/profile.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/scripts/profile.py -------------------------------------------------------------------------------- /scripts/test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/scripts/test.py -------------------------------------------------------------------------------- /src/bloom_filter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/src/bloom_filter.cpp -------------------------------------------------------------------------------- /src/bloom_filter.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/src/bloom_filter.h -------------------------------------------------------------------------------- /src/buffer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/src/buffer.cpp -------------------------------------------------------------------------------- /src/buffer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/src/buffer.h -------------------------------------------------------------------------------- /src/level.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/src/level.h -------------------------------------------------------------------------------- /src/lsm_tree.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/src/lsm_tree.cpp -------------------------------------------------------------------------------- /src/lsm_tree.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/src/lsm_tree.h -------------------------------------------------------------------------------- /src/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/src/main.cpp -------------------------------------------------------------------------------- /src/merge.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/src/merge.cpp -------------------------------------------------------------------------------- /src/merge.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/src/merge.h -------------------------------------------------------------------------------- /src/run.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/src/run.cpp -------------------------------------------------------------------------------- /src/run.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/src/run.h -------------------------------------------------------------------------------- /src/spin_lock.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/src/spin_lock.h -------------------------------------------------------------------------------- /src/sys.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/src/sys.cpp -------------------------------------------------------------------------------- /src/sys.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/src/sys.h -------------------------------------------------------------------------------- /src/types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/src/types.h -------------------------------------------------------------------------------- /src/worker_pool.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/src/worker_pool.cpp -------------------------------------------------------------------------------- /src/worker_pool.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/src/worker_pool.h -------------------------------------------------------------------------------- /test/test-1/in: -------------------------------------------------------------------------------- 1 | p 1 0 2 | g 1 3 | -------------------------------------------------------------------------------- /test/test-1/out: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /test/test-2/in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/test/test-2/in -------------------------------------------------------------------------------- /test/test-2/out: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /test/test-3/data.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/test/test-3/data.bin -------------------------------------------------------------------------------- /test/test-3/in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/test/test-3/in -------------------------------------------------------------------------------- /test/test-3/out: -------------------------------------------------------------------------------- 1 | 4 2 | 5 3 | 6 4 | -------------------------------------------------------------------------------- /test/test-4/in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/test/test-4/in -------------------------------------------------------------------------------- /test/test-4/out: -------------------------------------------------------------------------------- 1 | 1:1 20:-1 2 | -------------------------------------------------------------------------------- /test/test-5/in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/test/test-5/in -------------------------------------------------------------------------------- /test/test-5/out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/test/test-5/out -------------------------------------------------------------------------------- /test/test-5/params: -------------------------------------------------------------------------------- 1 | -b 1 2 | -------------------------------------------------------------------------------- /test/test-6/in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/test/test-6/in -------------------------------------------------------------------------------- /test/test-6/out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jackdent/cs265-lsm-tree/HEAD/test/test-6/out -------------------------------------------------------------------------------- /test/test-6/params: -------------------------------------------------------------------------------- 1 | -b 1 2 | -------------------------------------------------------------------------------- /tmp/.gitkeep: -------------------------------------------------------------------------------- 1 | --------------------------------------------------------------------------------