프로젝트 루트에서 명령을 실행한다.
- Debug
mkdir -p Debug && cd Debug && cmake -DCMAKE_BUILD_TYPE=Debug .. - Release
mkdir -p Release && cd Release && cmake -DCMAKE_BUILD_TYPE=Release ..
위의 명령을 실행한 다음 Debug 혹은 Release 디렉토리에 들어가서 make를 수행한다.
make
make test
Release/src/a.out <1st arg> <2nd arg> <3th arg> <4th arg> <5th arg>
- 1st arg
bruteforce,kdtreertree - 2nd arg
range,kNN - 3rd arg 좌표 목록이 기록된 파일의 경로를 지정함
- 4rd arg 질의 파라미터들이 기록된 파일의 경로를 지정함
- 질의 파라미터는 여러 개 기록할 수 있다.
- 5rd arg 질의 연산 결과들을 기록한 파일을 저장할 경로를 지정한다.
- 해당 파일에는 4rd arg에 기록된 파라미터의 개수만큼의 항목이 존재한다
다음과 같은 형식으로 저장돼있어야 한다
x1, y1
x2, y2
x3, y3
다음과 같은 형식으로 저장돼있어야 한다
range query 파라미터의 경우:
x1 y1 r1
x2 y2 r2
x3 y3 r3
위의 경우 실제 코드 상에서는 독립된 query 연산이 3번 실행된다.
kNN query 파라미터의 경우도 동일하다
각 query 연산에 대한 실행시간(ms)과 검사한 객체 개수가 출력된다
예를 들어:
10.23 100
11.11 56
12.34 67
질의 파라미터 파일에 들어간 항목 개수만큼 출력된다.
각 query 연산에 대한 결과 데이터(좌표 목록)가 파일에 기록된다.
질의 파라미터 파일의 있는 항목의 개수가 3개라면 실행 시 5번째 인자로 지정된 경로에:
output_000.txt
output_001.txt
output_002.txt
가 생성된다.
Release/src/a.out bruteforce range /path/to/clustered_dataset.txt /path/to/metric_out_dir /path/to/out_dir
Release/src/a.out kdtree range /path/to/clustered_dataset.txt /path/to/metric_out_dir /path/to/out_dir
Release/src/a.out rtree range /path/to/clustered_dataset.txt /path/to/metric_out_dir /path/to/out_dir
Release/src/a.out bruteforce range /path/to/gaussian_dataset.txt /path/to/metric_out_dir /path/to/out_dir
Release/src/a.out kdtree range /path/to/gaussian_dataset.txt /path/to/metric_out_dir /path/to/out_dir
Release/src/a.out rtree range /path/to/gaussian_dataset.txt /path/to/metric_out_dir /path/to/out_dir
Release/src/a.out bruteforce range /path/to/uniformed_dataset.txt /path/to/metric_out_dir /path/to/out_dir
Release/src/a.out kdtree range /path/to/uniformed_dataset.txt /path/to/metric_out_dir /path/to/out_dir
Release/src/a.out rtree range /path/to/uniformed_dataset.txt /path/to/metric_out_dir /path/to/out_dir
Release/src/a.out bruteforce kNN /path/to/clustered_dataset.txt /path/to/metric_out_dir /path/to/out_dir
Release/src/a.out kdtree kNN /path/to/clustered_dataset.txt /path/to/metric_out_dir /path/to/out_dir
Release/src/a.out rtree kNN /path/to/clustered_dataset.txt /path/to/metric_out_dir /path/to/out_dir
Release/src/a.out bruteforce kNN /path/to/gaussian_dataset.txt /path/to/metric_out_dir /path/to/out_dir
Release/src/a.out kdtree kNN /path/to/gaussian_dataset.txt /path/to/metric_out_dir /path/to/out_dir
Release/src/a.out rtree kNN /path/to/gaussian_dataset.txt /path/to/metric_out_dir /path/to/out_dir
Release/src/a.out bruteforce kNN /path/to/uniformed_dataset.txt /path/to/metric_out_dir /path/to/out_dir
Release/src/a.out kdtree kNN /path/to/uniformed_dataset.txt /path/to/metric_out_dir /path/to/out_dir
Release/src/a.out rtree kNN /path/to/uniformed_dataset.txt /path/to/metric_out_dir /path/to/out_dir