Ortak lisp programı yazdım ve olması gerekenden daha yavaş. Şimdi zamanımın nereye gittiğini görmek için kodumu analiz etmek istiyorum. İnsanların kullandığı araçlar var mı?ortak lisp programının performansını ölçün
cevap
SLIME kullanıyorsanız, time
'un yanı sıra uygulamaya özel araçların da kullanabileceği birkaç profiling commands vardır.
M-x slime-toggle-profile-fdefinition
(özel) profiline özel işlevleri göster, sonuçları göstermek için M-x slime-profile-report
ve sıfırlamak için M-x slime-profile-reset
.
SBCL kullanıyorsanız, temiz bir istatistik uzmanı var - http://www.sbcl.org/manual/Statistical-Profiler.html.
Basit ölçümler için, tüm Common Lisp uygulamalarında kullanılabilen time
'u kullanabilirsiniz.
Sb-sprof paketini beğeniyorum. Tüm çağrılan fonksiyonları (sistem fonksiyonları dahil) verir Buradaki sorunum, bu işlevlerin bazılarının çağrıldığı yeri gerçekten göremiyorum. Ortak lisp, (python memmory profiler belki https://github.com/fabianp/memory_profiler gibi bir şey) hat-by-profiler uygulaması var mı burada örnek bir python kodu ve memmory_profiler sonucu https: //gist.github com/3.235.444. Bununla, dizi türlerini değiştirebilir ve memmory sonucunu görebilirim. Bu, bottlenec'leri çok iyi göstermez ama tiple ilgili problemleri bulmak için oldukça iyidir. – yilmazhuseyin
Ayrıca, SBCL kullanıyorsanız, bir dosya (veya tam sistem) derleme yaptığınızdan ve derleyici notlarının tamamını okuduğunuzdan emin olun. Muhtemelen orada birkaç verimlilik notu var. – Vatine
@yilmazhuseyin SBCL ayrıca [determinist bir profiler] 'i (http://www.sbcl.org/manual/Deterministic-Profiler.html#Deterministic-Profiler) içerir, ancak hala işlev odaklı, çizgi yönelimli değil (kullanmayın)). Belirli bir işlevi kimin aradığını görmek için, SLIME'in Cc Cw c işlevini işlev adında kullanabilirsiniz (SLIME, birçok yararlı [çapraz başvuru komutu] içerir (http://common-lisp.net/project/slime/doc/html/ Cross_002dreference.html)). –
- 1. Ortak Lisp Hatası Anlaşılmadı
- 2. Ortak lisp ile emacs lisp arasındaki yapısal fark
- 3. ltk (ortak lisp) ile ilgili sorunlar
- 4. Ortak Lisp listesinde yer değiştirme öğeleri
- 5. ölçün uygulama performansı
- 6. Ortak lisp için asdf yüklemesi olmadan yeni paketler nasıl kurulur
- 7. Ortak lisp emacs + slime + sbcl pencerelerinde otomatik girinti
- 8. Excel tabloları oluşturmak için ortak bir lisp kütüphanesi var mı?
- 9. Ortak Lisp: İç içe bir plist verimli bir şekilde ekleme
- 10. + (LISP)
- 11. Linux'taki kitaplıkların boyutunu ölçün
- 12. Common Lisp Timer
- 13. Common Lisp Programatik Anahtar Kelime
- 14. React-Native: bir görünüm ölçün
- 15. Javascript uygulamalarının CPU yükünü ölçün
- 16. Ekran değiştirme yanıtını/süresini ölçün?
- 17. HashSet performansını
- 18. Haskell Programının Temel Yapısı
- 19. Java programının adını alın
- 20. Common Lisp
- 21. LISP arabası?
- 22. LISP Koşullar İçin Özel Formlar
- 23. Ortak Lisp'de etkin simge tablosuna erişme
- 24. common-lisp: ciltleme ve sembol arasındaki fark
- 25. C# programının yürütme yolunu kaydetme?
- 26. Kutu gölgesinin performansını artırın
- 27. MongoDB performansını takip et?
- 28. ggplot2 performansını artırma
- 29. Golang: dilim performansını artır
- 30. Ortak lisp: Bir kapsamdaki mevcut bir işlevi yeniden tanımlamak ister misiniz?
Bu, kullanımı gerçekten çok kolay. Teşekkürler. – yilmazhuseyin