방법론
본 사이트의 성능 수치가 산출되는 방식.
개요
본 사이트에 인용된 성능 수치는 특정 고객사의 데이터셋이 아니라 합성 차량 궤적 데이터에 대해 플랫폼을 실행한 결과를 반영합니다. 합성 데이터는 독일 항공우주센터(DLR)가 개발하고 EPL-2.0 라이선스로 배포되는 오픈소스 교통 마이크로시뮬레이터인 SUMO(Simulation of Urban MObility)를 사용하여 생성됩니다.
합성 데이터 생성
대상 도시: 도쿄 및 오사카. 출처 도로망: OpenStreetMap 추출물(ODbL). 시뮬레이션 1일당 차량 수: 도시당(도쿄 및 오사카) 약 100만 대. 시뮬레이션 기간: 1일(24시간). 출력: 차량별 5초 간격 합성 GPS 핑, 일별 Parquet 파티션으로 기록됨. 총 프로브 포인트: 도쿄 약 8,470만, 오사카 약 9,630만(합계 약 1억 8,100만).
파이프라인 아키텍처
스트리밍 방식의 Rust 파이프라인이 합성 궤적을 수집하고, 전체 코어에서 병렬로 도로망에 맵 매칭한 뒤, 결과를 보강·집계하여 컬럼형 지리공간 출력으로 기록합니다. 범용 하드웨어에서 테라바이트급 입력을 처리하도록 설계되었습니다.
벤치마크 환경
하드웨어: 단일 범용 멀티코어 워크스테이션. OS: Linux. 툴체인: rustc 1.95.0 (release profile, codegen-units tuned). 파이프라인 구성: 프로덕션 기본값(전체 코어, 스트리밍 활성화, 튜닝된 공간 인덱스). 측정 대상: 프로세스 시작부터 출력 플러시까지의 실제 경과 시간(wall-clock) — 시작 시간, 인덱스 빌드, 모든 I/O 및 매칭을 포함합니다.
결과
속도와 규모 주장을 뒷받침하는 두 차례의 실행이 있습니다. 속도 파일럿(니가타, 약 1,700만 프로브 레코드): Rust 매처는 약 2분, 피크 RAM 약 3GB로 완료 — 동일 하드웨어의 단일 스레드 Python(약 45분, 약 12GB) 및 Java(약 12분, 약 8GB) 대비 Python의 약 20배, Java의 약 5배 속도를 약 4분의 1 메모리로 달성(약 14만 레코드/초). 프로덕션 규모(SUMO 합성 데이터): 도쿄 전체 실행은 992,364대 / 8,470만 프로브 포인트를 처리하여 2,473,954개의 matched_links 행을 2시간 09분(피크 19GB)에 생성; 오사카는 989,820대 / 9,630만 포인트 → 1,924,373행을 1시간 39분(13GB)에 생성.
유의사항
합성 SUMO 궤적은 이상적인 GPS 샘플링을 전제로 한 시뮬레이션 운전자 행동을 따릅니다. 실제 프로브 데이터에는 추가적인 노이즈(GPS 드리프트, 신호 누락, 부분 주행)가 포함되며, 이는 SUMO 출력에서는 발생하지 않는 전처리 단계를 통해 프로덕션 파이프라인이 처리합니다. 여기에 제시된 수치는 깨끗한 입력에 대한 매처의 최고 성능을 나타내며, 노이즈가 있는 실제 데이터에 대한 프로덕션 처리량은 일반적으로 이 수치의 50–80% 범위 내에 있습니다. 본 사이트의 다른 곳에 인용된 모든 벤치마크 수치는 위에 설명한 합성 데이터셋에 대한 실행 결과를 반영하며, 본 사이트는 특정 고객사 프로젝트의 수치를 공개하지 않습니다.
