Açıklamalar · üç

Nasıl test ediyoruz, tam olarak

Başkalarının yazılımlarıyla karşılaştırmalar yayımlıyoruz, dolayısıyla yöntemin denetlenebilir olması gerekir. İşte tamamı: makineler, içerik, her istemcinin aldığı ayarlar, ve bir koşunun sonuç sayılıp sayılmayacağına ya da atılacağına karar veren kurallar.

Düzenek

Aynı makine, aynı hat, aynı içerik

Bir karşılaştırmadaki her istemci tek bir makinede, aynı sağlayıcılara karşı, aynı içerik üzerinde, aynı tur içinde koşar. Önceki bir günden hiçbir şey devralınmaz.

Her şeyi belirleyen kural

Bir istemci kendi durum iletisine göre değil, dosyaya göre değerlendirilir

Bu sayfadaki tek başına en önemli şey budur. Her tur, istemcinin ürettiği en büyük dosyayı çıktısının herhangi bir yerinde bulup bilinen doğru bir kopyaya karşı özetini alarak biter. Boyut ve MD5, her turda, örneklemle değil.

Bunu yapıyoruz çünkü bir istemcinin kendi başarı bildirimi güvenilir kanıt değildir. Çıktı dizini boş olan bir işte done bildiren bir istemci ölçtük. Hiç açmadığı ham arşiv birimlerini teslim etmiş olarak Completed bildiren bir başkasını ölçtük. Yaygın kullanılan bir onarım aracı, başarılı bir onarımın ardından hata koduyla çıkıyor. Bu istemcilerin hiçbiri yalan söylemiyordu; durum dizgeleri farklı yazarlar için farklı şeyler ifade eder, ve onlara güvenen bir kıyaslama davranışı değil söz dağarcığını ölçer.

Yani bitiş çizgisi herkes için aynıdır: içerik var, doğru boyutta, doğru özetle. Bir istemci bundan önce durursa süre almaz, ve sütunun tamamı sessizce atlanmak yerine işaretlenir. Bitiren yavaş bir istemci, bitiremeyen hızlı birinden daha iyi iş çıkarıyordur, ve tablo bunu söylemelidir.

Bunun doğal sonucu, bitirememenin bir sonuç olduğu, bizim tarafımızdaki bir hata olmadığıdır. Böyle bir şey yayımladığımızda son durumu yalın sözcüklerle betimleriz, genel olmaktan çok o işe özgü olduğunu düşündüren her şey dâhil, ve istemcinin bitirmek yerine ne yaptığını söyleriz.

Sıra ve yineleme

Turlar neden dönüşümlü, ve tek koşular neden yayımlanmıyor

Sağlayıcı hızı dakikadan dakikaya değişir, bazen iki ya da üç kat. Farklı zamanlarda alınan iki ölçüm kısmen havayı ölçmektedir.

Bu yüzden istemciler art arda ve iç içe geçmiş biçimde koşar, ve yinelemeler arasında sıra tersine döner; böylece hiçbir istemci ısınmış ya da soğuk bir hatta hep ilk giren olmaz. Bir sonuç, yinelemeler boyunca görülen örüntüdür; en iyi koşu değil. Yayılım genişken, onu gizleyecek bir ortalama yerine aralığı yayımlarız, ve bir istemcinin sayılarının neden dağıldığını bilmiyorsak, bir neden uydurmak yerine bunu söyleriz.

Farklı turlar arası karşılaştırmalardan mümkün olduğunca kaçınılır. Bir sav iki sayı gerektiriyorsa, bir günün rakamını bir başkasınınkinden çıkarmaktansa ikisini tek turda yeniden yarıştırmayı yeğleriz; çünkü düzeneğin durumu, sağlayıcı koşulları ve istemci sürümleri hep kayar. Kendi iki yapımızı karşılaştırırken, ikisi de aynı turda, dönüşümlü olarak, aynı içerik üzerinde koşar.

Gösterişsiz denetimler

Her turdan önce ve sırasında ne çalışır

Bunların çoğu, sessiz bir arızanın bir zamanlar sağlıklı görünen, yayımlanabilir ve yanlış bir sayı üretmiş olması yüzünden var. Her biri artık kendiliğinden çalışır ve uyarmak yerine turu durdurur.

Bir istemcinin iyi başarım için belirli ayarlara ihtiyacı varsa onları alır, ve tur hangileri olduğunu söyler. Örnekler: bir istemci kapalı geliyorsa istek ardışıklamanın açılması, aynı iş defalarca indirildiğinde yinelenen denetiminin kapatılması, ve açma yardımcılarının sistem kopyası yerine istemcinin kendi paketinden alınması. Amaç, her istemcinin öntanımlı değerleriyle değil en iyi hâliyle ölçülmesidir; çünkü öntanımlı değerler yetenekten ayrı bir tartışmadır.

Yapmayacaklarımız

Bu sayıların sınırları