メソドロジー
本サイトに掲載されている性能数値の算出方法について。
概要
本サイトに記載された性能数値は、特定の雇用主のデータセットではなく、合成車両軌跡データに対してプラットフォームを実行した結果に基づいています。合成データは SUMO (Simulation of Urban MObility) で生成しています。SUMO はドイツ航空宇宙センター (DLR) が開発するオープンソースの交通マイクロシミュレータで、EPL-2.0 ライセンスで公開されています。
合成データ生成
対象都市: 東京、大阪。道路ネットワーク: OpenStreetMap 抽出データ (ODbL)。シミュレーション 1日あたりの車両数: 各都市およそ100万台 (東京・大阪)。シミュレーション期間: 1日 (24時間)。出力: 5秒ごとの合成 GPS データを車両単位で記録し、日付ごとに Parquet パーティションに書き出し。総プローブポイント数: 東京 約8,470万、大阪 約9,630万(合計 約1億8,100万)。
パイプライン構成
ストリーミング型の Rust パイプラインが合成軌跡を取り込み、全コア並列で道路ネットワークにマップマッチングし、結果をエンリッチ・集計してカラムナ地理空間出力として書き出します。汎用ハードウェア上で TB 規模の入力を処理できるよう設計されています。
ベンチマーク設定
ハードウェア: 単一の汎用マルチコアワークステーション。OS: Linux。ツールチェーン: rustc 1.95.0 (リリースプロファイル、codegen-units 調整済み)。パイプライン構成: 本番デフォルト (全コア使用、ストリーミング有効、空間インデックス調整済み)。計測対象: プロセス起動から出力フラッシュまでの実時間 — 起動、インデックス構築、全 I/O、マッチング処理を含む。
結果
スピードとスケールの両主張を裏付ける2つの実行があります。スピードパイロット(新潟、約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%の範囲です。本サイトの他箇所で言及される全てのベンチマーク数値は、上記の合成データセット上での実行結果に基づいています。特定の雇用主の業務に関する数値は一切掲載していません。
