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

  • Elliot Davin

    Elliot Davin

    28 Kasım 2008
  • Lamarr Wilson

    Lamarr Wilso

    27 Aralık 2008
  • paikimchung

    paikimchung

    12 Mayıs 2006