pelias / pelias/spatial

Performance testing point-in-polygon

Open
#7 17 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
JavaScript
Stars
32
Forks
8
Avg merge
13m
Merged PRs (30d)
1

Description

Basic benchmarks show that the point-in-polygon API takes between 0 & 1 millisecond to execute.

We don't fully understand what the performance is like:

  • under heavy load
  • on a cold start vs. when the Linux filesystem cache has paged all/most of the DB
  • single core vs. multi-core
  • when it hits the max QPS for a machine
  • with a small DB vs a large DB
  • at various levels of 'max shard complexity' (a tunable config value).

This ticket is to figure out how to generate benchmarks which return more than simply vanity metrics.

It would be ideal if we can automate this process to measure performance over time, as new features are added.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the point-in-polygon API and the existing basic benchmarks referenced in the issue. Determine how benchmarks can cover load, cache state, cores, QPS, database size, and max shard complexity; done means repeatable measurements that can be automated and compared as features change.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, linux, sqlite
Domain
backend-api-design, databases, performance, testing-qa
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.