GitHub’ın elden geçirilmiş kod arama motoru, yazılım havuzlarının daha hızlı ve daha kapsamlı bir şekilde keşfedilmesini vaat ederek Pazartesi günü genel kullanılabilirliğe girdi.
Dahili olarak Blackbird olarak adlandırılan inceleme üç yıldır hazırlanıyor ve şirketin metin tabanlı arama teknolojilerini bilgisayar kodu sorgularında daha etkili hale getirmeye yönelik devam eden çabalarının bir parçası.
GitHub yazılım mühendisi Colin Merkle şunları söyledi: reklamcılık.
2008’de kurulan GitHub, kod aramasını gerçekleştirmek için başlangıçta Apache Solr’u kullandı. Ardından, Solr, Lucene’ye entegre edildikten sonra, işbirlikçi biz kodu yeni bir arama hizmeti oluşturdu. Elasticsearch’ü kullanma 2013 yılında. Kesintiler takip edildi Ve 2020’de – şirketin Microsoft tarafından satın alınmasından iki yıl sonra – Blackbird üzerinde çalışmaya başladı.
Projenin hedefleri şunlardı: tüm kaynak kodunu GitHub’da indekslemek; artımlı indeksleme ve belge silmeyi desteklemek ve hızlı tam eşleşme ve normal ifade sorguları sağlamak (genel sorgularda kullanıcıların yüzde 95’i için 1 saniyeden az, dar kapsamlı sorgularda daha hızlı); GitHub kod bilgisi olmadan entegrasyon için; Ve bunu, GitHub’daki Elasticsearch kümesindeki kaynak isteklerini genişletmeden yapmak.
Yukarıdaki özelliklere sahip hazır bir araç yoktu, bu nedenle GitHub, Şubat ayında biz bölümünde tartışıldığı gibi, Rust’ta yazılmış Blackbird’e bağlı kaldı. Ortaya çıkan sistem, saniyede yaklaşık 0,01 sorguya kıyasla saniyede yaklaşık 640 sorguyu işleyebilir. yırtmaç, sayısal tuşları değerlere ve diğer mimari optimizasyonlara eşleyen önceden hesaplanmış arama dizinleri sayesinde. Saniyede yaklaşık 120.000 belge hızında dizin oluşturabilir.
Merkle, “İnanılmaz derecede hızlı (eski kodu aramaya göre yaklaşık iki kat daha hızlı), çok daha yetenekli (alt dize sorgularını, normal ifadeleri ve sembol aramalarını destekler), kodunuzu anlıyor ve en alakalı sonuçları ilk sıraya koyuyor” diye açıkladı.
Öte Teknik manipülasyon Yeni GitHub, 45 milyon depoyu indekslemek ve sorgulamak için gerekli (birçok gereksiz çatalı ortadan kaldırır) sembol ara Motor, önerileri ve yarışmaları görüntüleyen arama arayüzünde ve arama, tarama ve kodda gezinmeyi bir araya getiren yeniden tasarlanmış bir kod görünümünde yapılan iyileştirmelerle çerçevelenmiştir.
Sonuç Belirli bir komut dosyasının depolar yoluyla oldukça iyi çalıştığını gördünüz. Kubernetes kümesi için YAML yapılandırma dosyalarında “bellek” anahtarıyla ilişkili değerleri bulmaya çalışın. GitHub’ın kod araması, yalnızca YAML dosyalarına odaklanmayı kolaylaştırır.
Bu tür ince filtreleme, uygulamanın hangi belirli bölümünün belirli bir hata mesajı ürettiğini belirlemeye çalışırken de kullanışlıdır.
Merkel, GitHub’ın yeni kod arama ve kod görüntüleme ile amacının, geliştiricilerin kod tabanlarına dağılmış önemli bilgileri bulmalarına, bu bilgileri bağlamsallaştırmalarına ve geliştiricileri daha üretken hale getirmelerine yardımcı olmak olduğunu söylüyor. ®
“Pop kültürünün ninjası. Sosyal medya fanatiği. Tipik problem çözücü. Kahve pratisyeni. Çok aşık olur. Seyahat tutkunu.”
More Stories
IFE Erişilebilirlik Çözümleri’nin Thales serisi prestijli Kristal Kabin Ödülünü kazandı
Özel büyülü temelleri ortaya çıkarın: Temizleme, Fırtınalar ve Hazineler
Razer’ın Basilisk V3’ü