jasmine
Pencari titik terdekat in-memory berbasis K-D tree, dengan API gRPC dan REST, TTL, ekspor GeoJSON, dan integrasi OSRM.
- Tahun
- 2024
- Dibangun dengan
- Go, gRPC, REST, OSRM
- Tautan
Mencari titik terdekat dari sebuah lokasi adalah fondasi untuk routing dan dispatch. jasmine menyimpan titik di memori dan menjawab query nearest-neighbor dengan K-D tree: binary tree yang membagi ruang secara bergantian per sumbu, sehingga setiap pencarian hanya menyentuh sebagian kecil data.
Fitur
- Penyimpanan in-memory dengan backup dan restore ke file
- API gRPC dan REST
- TTL untuk titik yang kedaluwarsa
- Ekspor ke GeoJSON
- Integrasi OSRM
Benchmark
Benchmark Go di Intel Core i5-1135G7:
| Operasi | Waktu per op |
|---|---|
| Simpan titik | 132,5 ns |
| Ambil data | 280,1 ns |
| Ambil data dalam GeoJSON | 407,7 ns |
| Query titik terdekat | 918,5 ns |