PDA

View Full Version : سوالاتی در رابطه با تابع زمان



Arashdn
شنبه 02 دی 1391, 17:58 عصر
سلام دوستان
این تابع clock() که در هدر ctime هست دقیقا به چه دردی میخوره و چه خروجی داره؟؟؟
جریانات این CLOCKS_PER_SEC چیه؟
ممنون

H_G_G_I
شنبه 02 دی 1391, 18:44 عصر
clock! همون تعداد تیک های برنامته ! انصافا نمی تونم توضیح بدم ! وقتی برنامه اجرا می شه صفره ! هر یه میلی ثانیه به علاوه یک میشه !
بر حسب میلی ثانیه هست مثلا باهاش می تونی زمانی که صرف اجرای یه کدی شده رو بدست بیاری !
این طوری ::

clock_t c1 = clock();
//باید یه کارایی انجام بدی که حداقل یه میلی ثانیه باشه
//من 2 ثانیه وقفه ایجاد کردم
Sleep(2000);
clock_t c2 = clock();
std::cout << c2-c1;


و یا بفهمی برنامت چند ثانیه هست که اجرا شده !

std::cout << clock()/CLOCKS_PER_SEC;


CLOCKS_PER_SEC مقدار 1000 هست . یعنی هر 1000 کلاک میشه معادل یه ثانیه !

Arashdn
شنبه 02 دی 1391, 19:11 عصر
پس تابع کلاک هر وقت اجرا بشه زمانی که برنامه باز بوده رو بر حسب تعداد کلاک سی پی یو بر میگردونه (حالا چجور شد هر کلاک یه میلی ثانیه است؟)
درسته؟
تو کدstd::cout << clock()/CLOCKS_PER_SEC; میشد به جای CLOCKS_PER_SEC بزنیم 1000 ؟

omidshaman
شنبه 02 دی 1391, 20:32 عصر
پس تابع کلاک هر وقت اجرا بشه زمانی که برنامه باز بوده رو بر حسب تعداد کلاک سی پی یو بر میگردونه (حالا چجور شد هر کلاک یه میلی ثانیه است؟)
هر کلاک نه هر تیک 1 میلی ثانیست

میشد به جای CLOCKS_PER_SEC بزنیم 1000 ؟
اره دیگه اگر زمانو بر حسب ثانیه بخواین باید 1000 رو بزنین