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