Evet.Bir daha çalıştırıyorum.
Bu nasıl bir şeydir?Şimdi de 38703 297 yazdı.
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]
July 02, 2010 Kod performansını ölçmek | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Kadir Can | Evet.Bir daha çalıştırıyorum. -- | |||
July 02, 2010 Kod performansını ölçmek | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Kadir Can | Performans ölçümleri böyledir işte. :) Program, çalışma sırasında işletim sistemi tarafından her an durdurulabilir veya disk başka bir program için meşguldür, vs. Bu gibi etkiler, çok tekrar ile azaltılmaya çalışılır. İşletim sistemi bilgisayar kaynaklarını her an daha önemli işler için ele geçirebileceği için beklenmedik sonuçlar doğabilir. Geçici etkileri önlemek için tekrar sayısını yüksek tutmak gerekir. Öncelikle, benchmark'ın belgesinden anlaşıldığına göre sonuçlar, ona bildirilen işlem sıralarında ve mili saniye olarak geliyormuş. Yani 600 200 görürsek, formatlı() 600 mili saniyede tamamlanıyor, formatsız() 200 mili saniyede... Programı biraz değiştirdim:
Standart çıktı örneğin Linux'ta /dev/nul'a gönderilebilir: ./deneme 1000000 > /dev/null veya herhangi bir dosyaya gönderilebilir ve sonra o dosya elle silinebilir: ./deneme 100000 > beni_sil Tabii o zaman da diske bağlı olunuyor. Diske yazmanın etkileri de sonucu etkileyecektir. Windows'da da baştaki ./ yazılmadan oluyor galiba: deneme 100000 > beni_sil Benden bir sonuç: ./deneme 1000000 > /dev/null Eğer derleyiciye -O seçeneğini vererek derlersem (yani en iyileştirme (optimizasyon) ile), beklendiği gibi bütün sonuçlar daha hızlı oluyor ama yine beklendiği gibi, oranları değişmiyor: ./deneme 1000000 > /dev/null Yani formatlı() olan, kabaca %25 daha yavaşmış. Ali -- | |||