محاسبه زمان انجام یک پروسه یا روند بر حسب میلی ثانیه milliseconds و ثانیه seconds

جمعه ، 17 خرداد 1392 ، 07:03 مدیریت کل سایت
چاپ

به نام خدا

حتما برای شما هم این مورد پیش آمده که بخواهید زمان انجام یک پروسه و روند را محاسبه کنید و آن را با سایر زمان ها بسنجید.

برای مثال فرض کنید قصد دارید زمان محاسبه تولید کلید خصوصی در روش کلید عمومی RSA را با زمان تولید کلید در روش Elliptic Curve Cryptography یا به اختصار ECC مقایسه کنید. در این جا از چه روشی استفاده می کنید؟

دو راه عمده وجود دارد:

1) با استفاده از برنامه های جانبی. مثلا در ویژوال استادیو می توان از گزینه Start Performance Analysis استفاده نمود.

2) که در ادامه توضیح خواهم داد:

راه اول ممکن است نیاز به کسب دانش داشته باشد و شما حوصله آن را نداشته باشید؛ اما در راه دوم بدون نیاز به هیچ پیش زمینه ای می توانید زمان مربوط به هر پروسه را به طور جدا محاسبه نمایید. در این روش ساده، زمان قبل و زمان بعد از یک پروسه را اندازه گیری می کنیم و آن را از هم کم می کنیم. به همین سادگی!

برای اینکار استفاده از دو تابع به شما پیشنهاد می شود که با توجه به نیازتان می توانید از آن ها استفاده نمایید. تابع اول خروجی را به میلی ثانیه و تابع دوم خروجی را برحسب ثانیه محاسبه می کند. معمولا برای دقت در کار همیشه از تابع اول استفاده می کنند.

شبه کد زیر بیان گر این موضوع است:

#include <time.h>
#include <iostream>
using namespace std;
 
int main(){
clock_t timer1,timer2;
timer1=clock();
//majmooe dastoorat
timer2=clock();
cout<<timer2-timer1;
//mohasebeye zaman be miliseconds

time_t timer3,timer4;
time(&timer3);
//majmooe dastoorat
time(&timer4);
cout<<timer4-timer3;
//mohasebeye zaman be seconds

return 0;}

 

مشخصا در قسمت majmooe dastoorat// کد دلخواه خود را که قصد محاسبه زمان آن را دارید، می بایست درج کنید.

در برنامه آموزشی زیر زمان لازم به اجرای یک حلقه for کوتاه و یک حلقه for طولانی را اندازه گرفته ایم.

جهت دانلود روی این لینک کلیک کنید(تا به صفحه کدهای آموزشی با همین محتوا ارجاع داده شود.)

//بعد از کلیک روی این لینک دوباره به صفحه مشابه با همین مطالب ارجاع داده می شوید که لینک بالا با لینک دانلود عوض شده است.//

منبع: مرجع فارسی سی پلاس پلاس به آدرس cplusplus.ir

آخرین بروز رسانی مطلب در جمعه ، 17 خرداد 1392 ، 07:12