Bu önerinin minyatür versiyonunu buraya ekledim çünkü "Favori Önerilerim" serisi kompakt, ısırık büyüklüğünde, kendi kendine yeten parçalar olması gerekiyor. Ama bugün bunu gerçekten çılgın bir sisteme dönüştürdüm. React'ta başka bir CRUD programı veya TODO listesi yapıyorsanız önemli değil, ama Rust veya Golang'da oldukça karmaşık bir şey yapıyorsanız ya da karmaşık veri içeren bir şey varsa, bu yaklaşım neredeyse korkutucu bir şey yapıyor. Bu iki turluk bir süreç. İşte 1. Tur: --- Önce AGENTS dot md dosyasının ve README dot md dosyasının tamamını çok dikkatli okuyun ve ikisinin TAMAMINI anlayın! Sonra kod inceleme ajanı modunuzu kullanarak kodu, teknik mimariyi ve projenin amacını tam olarak anlayın. Sonra, tüm bunları son derece titiz ve titizlikle yaptığında, mevcut sistemi ve ne yaptığını, amacını, nasıl uygulandığını ve tüm parçaların birbirleriyle nasıl bağlantılı olduğunu derinlemesine anladıktan sonra, bu projeyle ilgili bu soruları aşırı yoğun bir şekilde araştırmanızı, incelemenizi ve düşünmeniz gerekiyor: Çekirdek sistemde başka büyük verimsizlikler var mı? kod tabanında 1) değişikliklerin genel gecikme/yanıt verme ve veri verimliliği açısından gerçekten ilerleteceği yerler; 2) değişikliklerimizin işlevsellik açısından kanıtlanabilir şekilde izomorf olması ve böylece aynı girdiler alındığında çıkan çıktıların değişmeyeceğinden emin olacağımız; 3) algoritmalar veya veri yapıları açısından açıkça daha iyi bir yaklaşım için net bir vizyonunuz olduğu (bunun için, daha az bilinen veri yapılarını ve daha ezoterik/sofistike/matematiksel algoritmaları ve problem(ler)i yeniden şekillendirme yollarını dahil ederek aşağıda gösterilen liste gibi başka bir paradigma ortaya çıkacak şekilde (Not: Herhangi bir optimizasyon önermeden önce, temel metrikler belirleyin (p50/p95/p99 gecikmesi, veri taşımacılığı, zirve bellek) ve CPU/tahsis/I/O profillerini yakalayarak gerçek sıcak noktaları belirleyin): - N+1 sorgu/getirme desenini ortadan kaldırma - sıfır kopyalama / tampon yeniden kullanımı / dağılma-toplama giriş/çıkış - serileştirme biçimi maliyetleri (ayrıştırma/kodlama ek yükü) - sınırlı kuyruklar + geri basınç (bellek patlaması ve kuyruk gecikmesini önler) - Rekabeti azaltmak için sharding / çizgili kilitler - önbellek geçersizleştirme stratejileri ile memoizasyon - dinamik programlama teknikleri - konveks optimizasyon teorisi - tembel değerlendirme / ertelenmiş hesaplama - büyük koleksiyonların ortaya çıkmasını önlemek için yineleci/üretici desenleri - bellek sınırlı işler için akış/parçalanmış işleme - ön hesaplama ve arama tabloları - Indeks tabanlı arama vs doğrusal tarama tanıma - ikili arama (veri ve cevap uzayı üzerine) - iki noktalı ve kaydırmalı pencere teknikleri - ön ek toplamları / kümülatif agregatlar - bağımlılık grafikleri için topolojik sıralama ve DAG-farkındalığı...