tidwall / tidwall/rtree.c

QST: any idea of the impact of the tweaks used compared to the original algorithm?

Open
#2 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
149
Forks
27
PR merge metrics
No merged PRs in 30d

Description

Hallo!

I wonder...

Maybe you know it, but GeoPackage is a rather popular GIS data format based on sqlite. To be able to do fast spatial queries an rtree index is used, which is a standard/built-in feature of sqlite.

I noticed that the creation of an rtree index in sqlite/geopackage can take quite some time for large datasets... So, I wonder if you have an idea on the speed improvements that the changes you applied in your implementation compared to the original rtree paper give.

If they are significant, maybe the sqlite developers would be interested to implement them in their rtree implementation as well?

For reference, a ticket I opened in the sqlite forum regarding this: https://sqlite.org/forum/forumpost/af937a36b3

Regards,
Pieter

Contributor guide

No contributing guide indexed for this repository

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

The issue names no source file or test. Start by reading the rtree.c implementation, the original R-tree paper, and the linked SQLite forum thread, then compare creation performance on large datasets. Done would require a measured comparison of this implementation's tweaks with the original algorithm and a clear conclusion about their significance.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, sqlite
Domain
databases, performance
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.