Kıyaslama sadece rakamları almakla kalmaz, aynı zamanda sonuç analizine dayanarak kararlar almakla da ilgilidir.
Orada benchstat.el o özellikleri almak için kullanabileceğiniz MELPA üzerindeki paket benchstat programı sağlar.
X
Performans özelliklerini karşılaştırdığınız yerlerde karşılaştırmaya dayalı kıyaslama yapar Y
.
Benchstat işlevleri, benchmark-run-compiled
yalnızca bilgileri toplayan değil, aynı zamanda yorumlama biçimini kolayca okunabilen bir sarmalayıcı olarak görülebilir . O içerir:
X
Ve arasında geçen zaman aralığıY
- Ortalama ortalama zaman
- Tahsis tutarı
Çok basit kullanım örneği:
(require 'benchstat)
;; Decide how much repetitions is needed.
;; This is the same as `benchmark-run-compiled` REPETITIONS argument.
(defconst repetitions 1000000)
;; Collect old code profile.
(benchstat-run :old repetitions (list 1 2))
;; Collect new code profile.
(benchstat-run :new repetitions (cons 1 2))
;; Display the results.
;; Can be run interactively by `M-x benchstat-compare'.
(benchstat-compare)
Bu benchstat-compare
, sonuçları geçici bir tamponda gösterecektir:
name old time/op new time/op delta
Emacs 44.2ms ± 6% 25.0ms ±15% -43.38% (p=0.000 n=10+10)
name old allocs/op new allocs/op delta
Emacs 23.0 ± 0% 11.4 ± 5% -50.43% (p=0.000 n=10+10)
benchstat
Yine de program ikili dosyasına ihtiyacınız olacak . Go programlama dilini kullandıysanız, büyük olasılıkla sisteminizde zaten bir tane vardır. Aksi halde kaynaklardan derleme seçeneği vardır.
Linux / amd64 için önceden derlenmiş bir ikili dosya github sürüm sayfasında bulunabilir .