Benchmarks and Design Notes

IduEdu is designed as a single Python pipeline for city-network analysis: OpenStreetMap extraction, graph construction, public-transport integration and large origin-destination computations all use the same UrbanGraph data model. The 2026 paper benchmark suite in paper2026/ measures those stages from raw CSV outputs, with repeated runs and median values.

The numbers below are not a general ranking of geospatial libraries. OSMnx remains a mature and widely used toolkit for street-network analysis. This comparison isolates one common workload: pedestrian graph construction from the same city-scale AOIs, using both simplify=False and simplify=True in IduEdu and OSMnx.

Pedestrian graph construction benchmark

What IduEdu Adds

  • UrbanGraph: a tabular graph representation backed by GeoDataFrame node and edge tables.

  • Lazy CSR adjacency built directly from edge tables and reused by shortest-path routines.

  • Street-graph builders for drive and walk networks from OSM with metric projection and optional simplification.

  • Static public-transport graph construction directly from OSM relations, without requiring GTFS.

  • Intermodal graph construction by projecting stops, platforms and subway access points onto the walking graph.

  • OD-matrix computation on Numba-backed CSR kernels with cutoff thresholds and adaptive graph reversal.

  • Optional NetworkX adapters for interoperability without using NetworkX as the internal graph representation.

Pedestrian Graph Construction

Benchmark B1 compares graph construction time, stored edge rows and a deterministic object-size estimate for the final in-memory geospatial graph representation. For IduEdu, the estimate covers UrbanGraph node and edge GeoDataFrame tables plus Shapely geometry coordinate buffers. For OSMnx, the estimate covers the returned networkx.MultiDiGraph dictionaries, attributes, geometry and coordinate buffers. It is not peak process RSS during construction.

Without simplification, IduEdu’s time ratio is highest in this workload: OSMnx takes 5.8-9.3x longer across the tested cities, with a median ratio of 8.9x. With simplification enabled, the ratio is 3.3-6.0x with a median of 5.7x. In both modes, the final graph representation has a roughly 10-12x lower deterministic object-size estimate.

Rows are lightly shaded by simplify mode. Ratios are OSMnx / IduEdu.

Simplify City Build time Graph object size Stored edge rows
IduEdu OSMnx Ratio IduEdu OSMnx Ratio IduEdu OSMnx
false Helsinki 10.3 s 89.5 s 8.7x 128 MB 1.6 GB 12.4x 911.4k 1.82M
Saint Petersburg 10.0 s 90.3 s 9.0x 137 MB 1.6 GB 11.8x 1.00M 1.99M
New York 25.0 s 144.6 s 5.8x 163 MB 1.8 GB 11.6x 1.17M 2.34M
Seoul 13.4 s 121.6 s 9.1x 207 MB 2.3 GB 11.5x 1.44M 2.85M
Moscow 16.0 s 148.1 s 9.3x 217 MB 2.4 GB 11.4x 1.56M 3.11M
London 31.0 s 259.8 s 8.4x 394 MB 4.5 GB 11.8x 2.74M 5.45M
true Helsinki 18.0 s 108.2 s 6.0x 59 MB 666 MB 11.3x 369.6k 720.8k
Saint Petersburg 20.0 s 114.7 s 5.7x 76 MB 865 MB 11.3x 516.9k 1.01M
New York 52.6 s 171.6 s 3.3x 86 MB 879 MB 10.3x 570.3k 1.04M
Seoul 25.6 s 146.7 s 5.7x 85 MB 908 MB 10.6x 510.4k 1.01M
Moscow 32.4 s 184.5 s 5.7x 119 MB 1.3 GB 10.9x 800.0k 1.56M
London 56.6 s 319.7 s 5.6x 161 MB 1.7 GB 11.0x 958.9k 1.85M

Edge counts should be read as stored edge rows in each representation, not as an independent quality metric. UrbanGraph can encode bidirectional pedestrian edges with one row and an edge-direction column, while a directed multigraph representation commonly stores separate directed edge rows.

Protocol

All B1 measurements use the same area of interest per city. The benchmark suite downloads PBF files, extracts the PBF bounding box and uses that bounding box as the AOI for each library. Every measurement is repeated at least three times, and the documentation reports medians.

Environment recorded for the B1 run:

  • CPU class: Intel Core i7-12700F workstation, 64 GB RAM.

  • Platform: Windows 10 / Windows 11 family.

  • Python: 3.11.9.

  • IduEdu: 2.0.0.

  • OSMnx: 2.1.0.

  • NetworkX: 3.6.1.

  • GeoPandas: 1.1.4.

  • Shapely: 2.1.2.

Raw results and environment captures are stored in:

  • paper2026/results/build_benchmark.csv

  • paper2026/results/intermodal_benchmark.csv

  • paper2026/results/od_benchmark.csv

  • paper2026/results/env_build.json

OD Matrices

IduEdu computes OD matrices directly on the graph representation produced by its builders. The CSR adjacency is built from UrbanGraph.edges_gdf, cached, and passed to Numba kernels without converting the graph into another library’s format.

Two mechanisms are important for accessibility workloads:

  • Cutoff thresholds stop Dijkstra expansion once the travel-time or distance threshold is exceeded.

  • Adaptive graph reversal swaps origins and destinations on the transposed graph when |origins| is much larger than |destinations|, reducing the number of shortest-path launches.

The paper benchmark validates OD results against NetworkX on an identical graph: reachability sets match, and the maximum finite difference is about 3e-4 minutes, explained by float32 arithmetic in the accelerated kernel versus the float64 reference.

Limitations

The public-transport graph is static. It uses route topology and stop infrastructure from OSM and does not model schedules, headways or time-dependent waiting. This is appropriate for structural accessibility and network-coverage studies, but not for exact timetable routing.

The benchmark advantages are strongest for large city graphs and batch computations such as OD matrices, many-source accessibility and repeated spatial analysis. For one-off route queries, specialized routing engines can still be the right tool, especially when schedule-aware or turn-cost routing is required.