Langsung ke konten
Muhammad Septian
Semua proyek

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