با استفاده از ماژول datetime و timeit در پایتون دو روش مختلف برای افزایش روز به یک تاریخ (استفاده از datetime.timedelta و افزودن ثانیه با timestamp) پیادهسازی کرده و زمان اجرای هر روش را برای 10000 تکرار مقایسه کنید.
15.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 02:52 0.0
یک تابع برای افزایش یک روز با استفاده از datetime.timedelta و یک تابع دیگر که با تبدیل تاریخ به timestamp، افزودن تعداد ثانیهی برابر با یک روز و بازگرداندن به datetime عمل میکند بنویسید؛ سپس با ماژول timeit (تابع timeit.timeit یا timeit.repeat) هر کدام را با number=10000 اجرا و میانگین زمان یا کمینه را گزارش کنید. نکتهها: کدهای مورد آزمایش را داخل توابع کوچک بگذارید و از setup یا import در timeit برای آمادهسازی استفاده کنید، و نتایج را به شکلی خوانا مثل میلیثانیه چاپ کنید تا بتوانید عملکرد دو روش را مقایسه کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای مقایسه عملکرد، کدهای مورد آزمایش را در توابع کوچک قرار دهید و با timeit.repeat چندبار (مثلاً 3 بار) و number=10000 اجرا کنید و میانگین یا کمینه زمان را به میلیثانیه گزارش کنید. روش datetime.timedelta عموماً روشنتر و سریعتر است چون تنها عمل جمع زمان انجام میدهد، در حالی که تبدیل به timestamp و بازگرداندن نیاز به عملیات تبدیل به عدد اعشاری دارد و ممکن است کندتر و کمدقتتر باشد. همچنین توجه کنید که روش مبتنی بر timestamp برای تاریخهای قبل از epoch یا برای datetimeهای timezone-aware و در حضور DST میتواند رفتار نادرستی داشته باشد، پس برای شرایط حساس به منطقه زمانی از عملیات زمانبندی شدهی زمانمحسوس یا کتابخانههایی مثل dateutil استفاده کنید.
گزارش