Kemunculan Farebox, sebuah implementasi router transit publik baru yang ditulis dalam bahasa Rust, telah menghasilkan ketertarikan yang signifikan dalam komunitas teknologi transportasi, khususnya karena pendekatannya yang inovatif dalam perencanaan rute yang hemat memori.
Terobosan Efisiensi Memori
Implementasi algoritma RAPTOR (Round-Based Public Transit Optimized Router) oleh Farebox telah mencapai efisiensi memori yang luar biasa, dengan laporan yang menunjukkan bahwa jadwal wilayah Puget Sound hanya mengkonsumsi sekitar 40 MiB pada disk sementara proses server menggunakan sekitar 100k RAM. Performa luar biasa ini dicapai melalui teknik zero-copy dan memory mapping, membuatnya berpotensi cocok untuk perangkat mobile - sebuah kemampuan yang membedakannya dari solusi yang lebih boros sumber daya seperti OpenTripPlanner.
Saya telah memikirkan tentang perencanaan perjalanan offline di ponsel, tetapi menjalankan OTP tidak mungkin dilakukan karena grafik bisa mencapai ukuran gigabyte dan membutuhkan waktu menit untuk dimuat.
Spesifikasi Teknis Utama:
- Penggunaan Memori: ~40 MiB pada disk (jadwal Puget Sound)
- RAM Proses Server: ~100k
- Bahasa Implementasi: Rust
- Algoritma Inti: RAPTOR
- Perutean Transfer: Integrasi Valhalla
Alternatif untuk Sistem Tradisional
Proyek ini memposisikan diri sebagai pelengkap OpenTripPlanner, khususnya berfokus pada area yang belum tercakup oleh instance yang ada. Integrasinya dengan Valhalla untuk transfer dan routing first/last mile, dikombinasikan dengan kemampuan multi-agensi dan kesadaran zona waktu, menjadikannya solusi yang menjanjikan untuk perencanaan transit komprehensif. Meskipun ada beberapa keterbatasan, seperti tidak adanya bentuk rute dalam rencana perjalanan dan transfer yang telah dihitung sebelumnya membatasi kustomisasi berjalan/bersepeda per permintaan, proyek ini mempertahankan ruang lingkup yang jelas untuk pengembangan masa depan.
Keterbatasan Saat Ini:
- Tidak ada bentuk rute dalam rencana perjalanan
- Hanya transfer yang telah dihitung sebelumnya
- Kustomisasi berjalan kaki/bersepeda yang terbatas per permintaan
- Beberapa bug dalam perutean untuk rute jarak jauh
Penerimaan Komunitas dan Potensi Masa Depan
Komunitas teknologi transit telah menunjukkan ketertarikan khusus pada potensi Farebox untuk aplikasi mobile offline dan pendekatannya yang hemat memori. Para pengembang dan profesional transit sangat tertarik dengan kemungkinan cakupan skala planet dari satu instance, yang dapat secara signifikan mengurangi biaya hosting. Meskipun beberapa bug routing telah diidentifikasi, seperti munculnya rute bus jarak jauh yang tidak terduga menggantikan opsi kereta api berkecepatan tinggi, proyek ini tetap aktif dalam pengembangan dan keterlibatan komunitas.
Proyek ini juga mengisyaratkan implementasi masa depan routing rRAPTOR, yang akan memungkinkan perhitungan simultan rencana perjalanan di berbagai waktu keberangkatan - sebuah fitur yang biasanya tidak tersedia dalam implementasi pencarian A* tradisional melalui grafik routing bergantung waktu.
Catatan Teknis: RAPTOR (Round-Based Public Transit Optimized Router) adalah algoritma yang dirancang khusus untuk routing transportasi umum yang memproses rute dalam putaran, biasanya menawarkan kinerja yang lebih baik daripada metode pencarian A tradisional untuk jaringan transit.*
Referensi: Farebox - Implementasi RAPTOR cepat dalam Rust yang dirancang untuk mesin dengan memori terbatas