AST Parsing vs Vektör Arama: Graphify'de Performans Ölçümü
Graphify benchmarking çalışmasında ilginç bir bulgu var: AI destekli kod navigasyon sistemleri genelde vektör embedding ve semantik arama üzerine kurulur, ama deterministik AST parsing tamamen farklı bir denge sunuyor.
Marcus Reed'in 16-core AMD EPYC, 64GB RAM üzerinde yaptığı testler 180 bin satırlık Python monorepo'da (2,400 modül) iki yaklaşımı karşılaştırıyor. Bir tarafta Pinecone vektör store (1536-boyutlu embeddings), diğer tarafta Graphify'nin AST-tabanlı sorgusu. Custom async Python harness ile 300 saniye boyunca concurrent graph sorgularını ölçüyor.
AST parsing'in avantajı açık: sıfır halüsinasyon riski, tahmin edilebilir latency, yapısal ilişkileri doğrudan sorgulayabilme. Bir fonksiyonun tüm çağrılarını ya da bir modülün bağımlılıklarını bulmak deterministik. Vektör arama ise anlamsal benzerlikte güçlü, ama "yakın" sonuçlar bazen yanlış pozitif çekebiliyor.
Test sonuçları gösteriyor ki AST parsing düşük latency'de stabil kalıyor, ancak çok büyük codebase'lerde graph traversal maliyeti artıyor. Vektör arama ise throughput'ta daha hızlı, fakat sorgu kalitesi embedding modeline bağımlı. Gerçek dünyada seçim, aradığın şeyin ne olduğuna bağlı: kesin yapısal ilişkiler mi, yoksa "buna benzer kod" mi?
Eğer kod analiz araçları geliştiriyorsan, bu tür karşılaştırmalar mimarini şekillendiriyor. Graphify'nin açık kaynak olması, kendi benchmark'ını kurup test etmeyi kolaylaştırıyor.
0 yorum