SORU
11 Aralık 2008, PERŞEMBE


Nasıl milisaniye ANSI C kullanarak süre ölçebilir?

Sadece ANSI C veya daha milisaniye hassasiyetle zamanı ölçmek için herhangi bir yolu var mı? Zaman göz atıyordum.h ama ben sadece ikinci hassas fonksiyonları bulundu.

CEVAP
12 Aralık 2008, Cuma


1 saniye daha iyi zaman çözünürlüğü sağlayan ANSI C fonksiyonu yok ama gettimeofday POSIX işlevi mikrosaniye çözünürlük sağlar. Saat işlevi, yalnızca bir süreç yürütülüyor geçirdi ve birçok sistemlerde doğru olmadığını süreyi ölçer.

Bu şekilde bu işlevi kullanabilirsiniz:

struct timeval tval_before, tval_after, tval_result;

gettimeofday(&tval_before, NULL);

// Some code you want to time, for example:
sleep(1);

gettimeofday(&tval_after, NULL);

timersub(&tval_after, &tval_before, &tval_result);

printf("Time elapsed: %ld.ld\n", (long int)tval_result.tv_sec, (long int)tval_result.tv_usec);

Bu benim makine üzerinde Time elapsed: 1.000870 döndürür.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EatingIn

    EatingIn

    12 EKİM 2013
  • mipd1980

    mipd1980

    25 EKİM 2006
  • Paulo Bautista

    Paulo Bautis

    21 Aralık 2008