خانه / الگوریتم / زمان اجرای برنامه در C++

زمان اجرای برنامه در C++

امروز نیز د بخش الگوریتم دیجی نکست قصد دارم دمورد یه قطعه کد ساده و در عین حال بسیار کاربردی صحبت کنیم ،…
برنامه نویسان مختلف برای زبان های مختلف هر روز کد میزنند و قطعا زمان اجرای آن در بسیاری از موارد برای این برنامه نویسان مهم است . در این پست قصد ندارم وارد بهینه سازی کد ها و یا ساختمان داده ها بشوم و فقط میخوام در این مورد بحث کنیم که “چگونه میتوانیم زمان اجرای برنامه خود را بفهمیم”؟

index

 

جواب خیلی ساده و جالب میباشد …

خیلی سریع بریم سراغ کد :
نکته : حتما در همان ابتدا کتابخانه  ctime را تعریف کنید .


 #include <ctime>
 #include <iostream> 
 using namespace std ;
 //by PooyaPhoenix from DigiNext.ir
 int main()
{
int a=0;
int start_s=clock();
for (int j=0 ; j<100000 ; j++){
    for (int i=0 ; i<10000 ; i++){
    a=a+5;
    a*=a;
    a/50;
    a=1;
    a+=2;
    }
}
int stop_s=clock();
cout << "time: " << (stop_s-start_s)/double(CLOCKS_PER_SEC) << endl;
}
    

نکته:
(stop_s-start_s)/double(CLOCKS_PER_SEC)
این دستور موجود در کد باعث میشود که زمان خروجی ما بر حسب ثانیه تولید شود .

من در کد بالا ااز دو حلقه تو در تو استفاده کردم و درون حلقه دوم چند کار محاسباتی انجام داده ایم تا به حد کافی پردازشگر درگیر شود و در نهایت بعد از اجرای برنامه میفهمیم که زمان اجرا کد بالا ۰٫۳ ثانیه میباشد . حالا نکته جالب قضیه اینست که اگر به در حلقه ائل به جای عدد ۱۰۰۰۰ ، عدد ۱۰۰۰۰۰ را قرار دهیم ، مشاهده میکنیم که زمان اجرا هم ۱۰ برابر میشود یعنی زمان اجرا کد ۳ ثانیه میشود . فکر کنم این موضوع دقیق بودن و زیبایی این مبحث را به همه ی ما ثابت میکند .

اگر به دنبال مطلب بیشتر از تئوریات زمان اجرا هستید به این لینک ویکی پدیا سری بزنید

منتظر سوال و تجربیات شما هم در بخش دیدگاه ها هستم … موفق باشید

۲ دولایک کن

درباره pooya

آواتار pooya
پویا چاوشی مدیر وبسایت دیجی نکست هستم... دانشجوی رشته ی نرم افزار و در زمینه طراحی و برنامه نویسی وب و همچنین برنامه نویسی بازی و طراحی نرم افزار اندروید فعالیت دارم ... در اوقات فراغتم گاها آهنگسازی هم میکنم// امیدوارم مطالبی که براتون مینویسم مفید باشه و استفاده بکنید.

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

آدرس ایمیل شما منتشر نخواهد شدعلامتدارها لازمند *

*

شکلک خودتو انتخاب کن !

SmileBig SmileGrinLaughFrownBig FrownCryNeutralWinkKissRazzChicCoolAngryReally AngryConfusedQuestionThinkingPainShockYesNoLOLSillyBeautyLashesCuteShyBlushKissedIn LoveDroolGiggleSnickerHeh!SmirkWiltWeepIDKStruggleSide FrownDazedHypnotizedSweatEek!Roll EyesSarcasmDisdainSmugMoney MouthFoot in MouthShut MouthQuietShameBeat UpMeanEvil GrinGrit TeethShoutPissed OffReally PissedMad RazzDrunken RazzSickYawnSleepyDanceClapJumpHandshakeHigh FiveHug LeftHug RightKiss BlowKissingByeGo AwayCall MeOn the PhoneSecretMeetingWavingStopTime OutTalk to the HandLoserLyingDOH!Fingers CrossedWaitingSuspenseTremblePrayWorshipStarvingEatVictoryCurseAlienAngelClownCowboyCyclopsDevilDoctorFemale FighterMale FighterMohawkMusicNerdPartyPirateSkywalkerSnowmanSoldierVampireZombie KillerGhostSkeleton

bigtheme