PDA

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



mahvand
شنبه 17 مهر 1389, 14:44 عصر
سلام،میشه یه تابعی که با اون بشه زمان اجرای یه تابع رو بدست آووردو بنویسید،یعنی بشه زمان سیستم رو قبل و بعد از اجرای یه تابع بدست آوورد و اختلاف اونها بشه زمان اجرا؟؟؟
میشه ها ولی این قد زمان اجرا کوتاه این اختلاف زمانی صفر میشه:ناراحت:
اگه بشه زمان رو بر حسب میلی ثانیه بده خیلی عالیه:لبخندساده:
(**به زبان سی**)
ممنونم

bijibuji
دوشنبه 24 آبان 1389, 03:14 صبح
چیزی که بهش در درس طراحی الگوریتم، می گن زمان اجرا واقعا زمان با واحد اندازه گیری ثانیه نیست دوست خوب
زمان اجرا بر حسب متغیر و پارامترهای ورودی برنامه تون محاسبه می شه و نمی شه برنامه جامعی نوشت که تحت هر شرایطی این رو حساب کنه. تازه اگر بشه وارد کردن الگوریتم های مختلف هم دردسر داره و اساسا همچین برنامه ای زیاد کارآمد نیست.
روش های محاسبه زمان اجرا یا همون پیچیدگی زمانی محدودن می تونید کمی مطالعه کنید روشون و راحت خودتون مقادیر زمان اجرا رو برای اکثر الگوریتم ها حساب کنید.

شاد باشید

pesar irooni
دوشنبه 24 آبان 1389, 11:53 صبح
در زبان فارسی معمولا زمان اجرا با مرتبه اجرایی اشتباه گرفته میشه. باید یه جور دیگه سوالت رو مطرح میکردی. شما حتی اگه میلی ثانیه هم استفاده کنی در بسیاری از موارد 0 رو خواهی دید. مثلا یه کامپیوتر معمولی 1.8GH حدول 1.8 میلیارد دستور العمل تو ثانیه انجام میده. یعنی تو 1 میلی ثانیه 1.8 میلیون دستور انجام میده. پس یه برنامه معمولی رو کمتر از 1 میلی ثانیه انجام میده. باید حداقل برحسب میکرو ثانیه محاسبه کنی که اکثر توابع در C این کار رو میکنند.
دو کار میتونی بکنی:
1: یه تایمر تو خود برنامه ات بزاری
2: از تایمر سیستم استفاده کنی
این تایمر میتونه یا از زمان استفاده کنه یا از کلاک سیستم
اگه زمان اجرای برنامه ات رو میخوای بهتره از 1 استفاده کنی چون 2 در هر اجرا جواب متفاوتی میده به دلیل
multi Processing