یک برنامه پایتون بنویسید که زمان اجرای یک محاسبه عددی ساده (مثلاً محاسبه مجموع مربع‌های اعداد از 1 تا N) را چند بار اجرا کرده، زمان هر اجرا، زمان کل و میانگین زمان اجرای تکرارها را اندازه‌گیری و همهٔ مقادیر را به صورت قابل خواندن (HH:MM:SS) نمایش دهد

5.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 03:08

0.0

برای حل این مسئله از ماژول time (به‌ویژه time.perf_counter) برای اندازه‌گیری دقیق بازه‌های زمانی استفاده کنید؛ برنامه باید ورودی N و تعداد تکرارها را بگیرد، در هر تکرار محاسبه عددی را اجرا کند و تفاوت perf_counter را ثبت نماید. برای تبدیل ثانیه به فرمت HH:MM:SS می‌توانید از datetime.timedelta یا تبدیل دستی استفاده کنید. نکات: برای تحلیل دقیق‌تر می‌توانید از numpy برای محاسبات برداری استفاده یا از ماژول timeit برای بنچمارک‌گیری دقیق‌تر بهره ببرید و برای اتوماسیون ورودی‌ها argparse را به کار ببرید.

توسط پژوهشگر در 220 روز قبل ساعت 03:08
دسته بندی ها: Python Python for beginner
arman در 220 روز قبل ساعت 07:23

برای پایداری اندازه‌گیری‌ها، در هنگام بنچمارک می‌توانید gc را در طول اندازه‌گیری خاموش کنید یا حداقل با یک warm-up مناسب نتیجه‌ها را آرام‌تر کنید تا تأثیر مدیریت حافظه کاهش یابد. استفاده از time.perf_counter کافی است، اما بهتر است از timeit یا چند اجرای اولیه (warm-up) هم بهره بگیرید تا خطای معیار کاهش یابد. اگر هدف مقایسه باشد، می‌توانید هم کد با حلقه هم فرمول بسته n(n+1)(2n+1)/6 را آزمایش کنید تا تفاوت کارایی مشاهده شود. خروجی را با datetime.timedelta یا تبدیل دستی به HH:MM:SS نمایش بدهید و میانگین زمان اجرای تکرارها را گزارش کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری