Geonix

方法论

本站性能数据的生成方式。

概述

本站引用的性能数据反映的是平台在合成车辆轨迹数据上的运行结果,而非针对任何特定雇主的数据集。合成数据使用 SUMO(Simulation of Urban MObility)生成——这是一款由德国航空航天中心(DLR)开发、按 EPL-2.0 授权的开源交通 Microsimulation 工具。

合成数据生成

城市:东京与大阪。源路网:OpenStreetMap 提取数据(ODbL)。单个模拟日的车辆数:每座城市约 1 million 辆车(东京与大阪)。模拟时长:1 天(24 小时)。输出:每辆车每 5 seconds 生成一次合成 GPS 信号点,写入按天分区的 Parquet 文件。探测点总数:东京约 8470 万、大阪约 9630 万(合计约 1.81 亿)。

流水线架构

一条流式 Rust 流水线读取合成轨迹,在全部核心上并行地将其与路网进行地图匹配,随后对结果进行富化与聚合,输出为列式地理空间数据——专为在通用硬件上处理 TB 级输入而设计。

基准测试环境

硬件:单台通用多核工作站。操作系统:Linux。工具链:rustc 1.95.0(release 配置,codegen-units 已调优)。流水线配置:生产环境默认值(启用全部核心、流式处理开启、空间索引已调优)。测量内容:从进程启动到输出落盘的挂钟时间——包含启动、索引构建、全部 I/O 以及匹配过程。

测试结果

支撑速度与规模主张的两次运行。速度试点(新潟,约 1700 万条探测记录):Rust 匹配器约 2 分钟完成,峰值内存约 3 GB——相比同一硬件上的单线程 Python(约 45 分钟、约 12 GB)与 Java(约 12 分钟、约 8 GB),速度约为 Python 的 20 倍、Java 的 5 倍,内存约为四分之一(约 14 万条/秒)。生产规模(SUMO 合成数据):东京完整运行处理 992,364 辆车 / 8470 万个探测点,生成 2,473,954 行 matched_links,耗时 2 小时 09 分(峰值 19 GB);大阪 989,820 辆 / 9630 万点 → 1,924,373 行,耗时 1 小时 39 分(13 GB)。

注意事项

合成的 SUMO 轨迹遵循模拟的驾驶行为,并采用理想化的 GPS 采样。真实世界的探针数据会带有额外噪声(GPS 漂移、信号丢失、行程不完整),这些由生产流水线中 SUMO 输出未触及的预处理阶段来处理。此处的数据代表匹配器在干净输入下的峰值性能;在含噪的真实数据上,生产吞吐量通常为这些数字的 50–80%。本站其他地方引用的所有基准数字均来自上述合成数据集上的运行结果;本站不发布任何特定雇主合作项目的数据。