İşlemci Zamanının Sorgulanması
Önceki İşlemci Zamanı ve İşlemci Süresi Sonraki
İşlemci Zamanının Sorgulanması
Bir sürecin işlemci zamanını almak için clock işlevini kullanabilirsiniz. Bu oluşum time.h başlık dosyasında bildirilmiştir.
Genel olarak, clock işlevi ilgilenilen bir zaman aralığının başında ve sonunda çağrılır ve bu değerler birbirinden çıkarılıp sonuç CLOCKS_PER_SEC ile bölünerek işlemci süresi aşağıdaki gibi elde edilir:
#include <time.h>

clock_t start, end;
double cpu_time_used;

start = clock();
... /* Burada bir takım işlemler yapılıyor. */
end = clock();
cpu_time_used = ((double) (end - start)) / CLOCKS_PER_SEC;
Belirli süreyi elde etmek için tek bir işlemci zamanı değerini kullanmayın.[99] Ya yukarıdaki gibi bir çıkartma işlemi yapın ya da doğrudan işlemci süresini sorgulayın. Bkz. İşlemci Süresinin Sorgulanması.
Farklı makineler ve işletim sistemlerinde işlemci zamanının hesabı az ya da çok çılgıncadır. Bunlarda, dahili işlemci saati saniyenin yüzde biri ile milyonda biri arasında bir çözünürlüğe sahiptir.
int CLOCKS_PER_SEC
makro
Bu makronun değeri clock işlevi tarafından ölçülen saniyedeki saat tiki sayısını verir. POSIX standardı bu değerin gerçek çözünürlükten bağımsız olarak bir milyon olmasını gerektirir.
int CLK_TCK
makro
Bu, CLOCKS_PER_SEC değerinin atıl olmuş eşdeğeridir.
clock_t
veri türü
Bu, clock işlevinin dönüş değerinin türüdür. clock_t türünden değerler saat tiklerinin sayısıdır.
clock_t clock
(void)
işlev
Bu işlev çağrıldığı sürecin o anki işlemci zamanı ile döner. İşlemci zamanı ölçülmüyorsa ya da gösterilemiyorsa, clock işlevi clock_t cinsinden (-1) ile döner.


[99] Ç.N.: Süre, iki mutlak zaman değeri arasındaki miktardır, zaman ise belli bir olaya göreli olarak tanımlanmış bir başlangıca göre geçen süredir; "miladi zaman", "hicri zaman", Uzay Yolu'nu izlediyseniz kaptanın günlüğünde bahsettiği "yıldız zamanı" :-) gibi.
Önceki Üst Ana Başlık Sonraki
İşlemci Zamanı ve İşlemci Süresi Başlangıç İşlemci Süresinin Sorgulanması
Bir Linux Kitaplığı Sayfası