I am using cmake for compiling the requested binaries. You can find already compiled binaries in /bin, or you can build them yourself. When running the binaries, please make sure you have enough memory space (some test cases require main+swap>=8G). Structure of current dir: .git/: contains version control informations. bin/: contains binary files, intermediate files for compiling, also a script and some cases for testing. include/: contains header files. src/: contains source files corresponding to header files. leapfrog.cpp: source file for compiling binary leapfrog. sortmerge.cpp: source file for compiling binary sortmerge. CMakeLists.txt: cmake config file. readme: this file. How to use the test_script: ./test_script [num], to repeatly run the test for [num] times for example, ./test_script 10