doc(bench): restructure cross-platform timings by what each measurement licenses (supersedes #26)#29
Merged
estebanzimanyi merged 9 commits intoJun 5, 2026
Conversation
- Add LICENSE file (PostgreSQL License, 2020-2026, ULB + MobilityDB contributors) - Update copyright headers in all SQL/sh files to standard ecosystem form - Update CI workflow (main.yml): feat/**/fix/** branch triggers, paths-ignore for *.md/doc/**, workflow_dispatch, concurrency cancellation - Restructure README into 7 numbered sections; add Cross-Platform Portability section (§4) documenting the portable SQL dialect and ecosystem platforms; add Contributing section explaining the perennial master branch model - Add berlinmod_chapter1_queries_portable.sql: Q1–Q6 in the portable named- function dialect (eIntersects/eContains instead of operator symbols), compatible with MobilityDB, MobilityDuck, and MobilitySpark - Add berlinmod_portability_export() to berlinmod_export.sql: exports vehicles, trips (as WKT tgeompoint text), query_licences, query_instants, and query_points in the shared cross-platform schema consumed by MobilityDuck and MobilitySpark
e274610 to
23937b5
Compare
23937b5 to
2afc95a
Compare
Bare-name portable variants of the chapter-1 and 17 R-queries runnable on MobilityDB (PostgreSQL), MobilityDuck (DuckDB), and MobilitySpark (Spark); their th3index-accelerated counterparts plus berlinmod_th3index_setup.sql; the trip_h3 column in the export/load path; and a MobilityDuck schema adapter.
…banner) Adds doc/contributing/reviewer-guide.md mirroring the canonical reviewer- guide structure used in MobilityDB / MobilityDuck / MobilitySpark / JMEOS, scoped to MobilityDB-BerlinMOD. Same canonical path (doc/contributing/reviewer-guide.md) as the other four ecosystem repos — reviewers landing in any of the five find the same structure at the same place. - Dependency chain: PR MobilityDB#23 (ecosystem-standards foundation) → PR MobilityDB#24 (extends portability_export with trip_h3 — pairs with MobilityDB PR #938 geo_to_h3index_set). Cross-repo dependency on MobilityDB th3index branch (#807 / #866 / #893) documented per feedback_issued_pr_treat_as_landed.md. - Tier ranking + per-tier review notes. - Standards checklist: license header, portable-name convention, CSV portability, loader cross-platform impact. - Cross-repo links to the other four ecosystem reviewer guides. Wires visibility: - .github/PULL_REQUEST_TEMPLATE.md links to the guide so contributors are prompted to update it in any commit that opens / closes / restructures a PR. - README.md gains a 'For contributors and reviewers' section pointing to the guide.
Cross-platform R-query and th3index timing/readiness reports for MobilityDB (PostgreSQL), MobilityDuck (DuckDB), and MobilitySpark (Spark), the per-platform UDF audits, the beta-testing notes, the grouped cross-platform bar charts, and a root-README pointer to BerlinMOD/benchmarks/.
run_bench.sh / run_full_bench.sh one-shot reproducibility wrappers and the chart renderer.
Title 'BerlinMOD three-platform DB benchmark' with a matched-tone summary, a query-shape workload table, methodology, invariants, a per-engine results grid (MobilityDB / MobilityDuck / MobilitySpark), grouped baseline and th3index charts, a parity cross-link to the streaming sibling, and a contributing section. The MobilityDB column carries its BerlinMOD sf 0.005 times.
The Acceleration section reads top-down: (1) the shared th3index accelerator on all three engines — the only cross-engine comparison; (2) each engine's native indexes (MobilityDB GiST/SP-GiST/MEST, MobilityDuck R-tree) — intra-engine; and (3) the combination of th3index with a native index where both pay. Each axis has a fillable per-configuration grid and a chart whose legend names the accelerator. The MobilityDB column carries its measured times.
The three acceleration axes carry MobilityDB's measured figures at sf 0.005: the shared th3index prefilter (39x on Q6, 24x on Q10 over the trip×trip cross-joins; neutral-to-penalty on the region shapes where the H3 cell-set covers the city), the native index families (GiST, SP-GiST, MEST — MEST 2.2x on the point shape and 2.4x on the simple region shape, R-tree on the triple cross-join), and the combined axis (no win at sf 0.005; the crossover appears on a scale-factor sweep). Charts name the accelerator per bar.
633aaa8 to
8c01ad7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Restructures the cross-platform BerlinMOD timing comparison so the document is organised around what each section is licensed to claim:
th3indexmatrix (only this section is cross-platform-comparable).Each section is self-contained. The earlier blended layout that mixed indexes and platforms in a single matrix is gone.
Key changes vs #26
minDistanceover the licence cross-join, exact, no row-dropping prefilter. TheeverEqTh3IndexTh3Indexcell-prefiltered form is a separate throughput diagnostic, never labelled Q5.TRTREEsingle-entry +TRTREEwith MEST multi-entry (N=4, N=8). Numbers pending MobilityDuck #139 / #143 / #144.Supersedes
Replaces #26 (
doc/benchmarks-th3index) for the same file — the restructure is incompatible with #26's older blended layout. Closing #26 in favour of this PR is the recommended path.