Skip to content

Evaluate the topological and position overloads a hundred to a query - #89

Merged
estebanzimanyi merged 1 commit into
MobilityDB:mainfrom
estebanzimanyi:test/batch-topological-overloads
Oct 25, 2026
Merged

estebanzimanyi merged 1 commit into
MobilityDB:mainfrom
estebanzimanyi:test/batch-topological-overloads

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

everyOverloadAnswersUnquoted evaluates the two-argument overloads of the topological and position
families a hundred to a query: the calls are the columns of one query, each column required to
answer a Boolean, and a query that fails is run again call by call through #scalar, so a failing
overload is named by its own query and the innermost cause.

Witness: each overload was a query of its own, and each query is a job the mini-cluster plans and
submits, so the test spent its time on jobs rather than on calls.

Measured: on the CI of main the step building and testing the binding takes 1274 s, against 154 s
for MobilitySpark's, and TopologicalPositionSurfaceTest takes 1022 s of it for its three tests. A
query costs 0.53 s on Flink and 0.08 s on Spark, read from AggregatesCatalogTest (288 queries in
152.7 s, 295 in 23.4 s). On the CI of this change (fork run 40190727763) the three tests of
TopologicalPositionSurfaceTest pass in 116.7 s.

Why: a query per call measures Flink's job submission, not the surface; sharing the jobs keeps
every call and every check while the test costs a tenth of its time.

everyOverloadAnswersUnquoted evaluates the two-argument overloads of the topological and position
families a hundred to a query: the calls are the columns of one query, each column required to
answer a Boolean, and a query that fails is run again call by call through #scalar, so a failing
overload is named by its own query and the innermost cause.

Witness: each overload was a query of its own, and each query is a job the mini-cluster plans and
submits, so the test spent its time on jobs rather than on calls.

Measured: on the CI of main the step building and testing the binding takes 1274 s, against 154 s
for MobilitySpark's, and TopologicalPositionSurfaceTest takes 1022 s of it for its three tests. A
query costs 0.53 s on Flink and 0.08 s on Spark, read from AggregatesCatalogTest (288 queries in
152.7 s, 295 in 23.4 s). On the CI of this change (fork run 40190727763) the three tests of
TopologicalPositionSurfaceTest pass in 116.7 s.

Why: a query per call measures Flink's job submission, not the surface; sharing the jobs keeps
every call and every check while the test costs a tenth of its time.
@estebanzimanyi
estebanzimanyi merged commit 3004dbf into MobilityDB:main Oct 25, 2026
2 checks passed
@estebanzimanyi
estebanzimanyi deleted the test/batch-topological-overloads branch October 25, 2026 12:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant