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

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

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

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

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

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

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

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

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

#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// کد دلخواه خود را که قصد محاسبه زمان آن را دارید، می بایست درج کنید.

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

نویسنده: تمدن

لازم به ذکر است که دامنه cplusplus.ir توسط من تهیه شده و در حال حاضر محتوای سایت را روی وبلاگ بارگذاری کرده ام ;)

برای مشاهدۀ فهرست مطالب به آدرس tamadon.net/cpp مراجعه فرمایید.

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگو شرکت کنید؟
نظری بدهید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *