"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية قياس الوقت بدقة في بايثون: time.clock() vs.time.time()؟

كيفية قياس الوقت بدقة في بايثون: time.clock() vs.time.time()؟

تم النشر بتاريخ 2024-11-11
تصفح:965

How to Measure Time Accurately in Python: time.clock() vs. time.time()?

قياس الوقت بدقة في بايثون: time.clock() vs.time.time()

تحديد الطريقة الأنسب للتوقيت في تتطلب بايثون فهم الاختلافات بين time.clock() وtime.time().

time.clock() مقابل time.clock(). time.time()

في إصدارات بايثون قبل الإصدار 3.3، تم استخدام time.clock() بشكل أساسي في قياس الأداء. لقد وفرت وسيلة لقياس الوقت المنقضي للمعالج، بما في ذلك وقت المستخدم والنظام. على العكس من ذلك، قام time.time() بقياس الوقت الفعلي لساعة الحائط منذ تلك الحقبة، مما يوفر دقة أكبر، خاصة لأنظمة Windows.

إيقاف time.clock()

اعتبارًا من إصدار Python 3.3، تم إهمال time.clock() ومن المقرر إزالته في الإصدارات المستقبلية. بدلاً من ذلك، يتم تشجيع المطورين على استخدام time.process_time() أو time.perf_counter() للحصول على وظائف مماثلة.

البدائل الموصى بها

  • time .process_time() يقيس وقت التنفيذ التراكمي للعملية ويكون أكثر اتساقًا عبرها Systems.
  • time.perf_counter() يُبلغ عن وقت ساعة الحائط عالي الدقة بدقة دون الميكروثانية على الأنظمة الأساسية المدعومة.

مثال الاستخدام

وقت الاستيراد البدء = الوقت.process_time() # أداء بعض المهام المنقضي = time.process_time() - البداية print ("وقت تنفيذ العملية:"، المنقضي)
import time

start = time.process_time()
# Perform some tasks
elapsed = time.process_time() - start

print("Process execution time:", elapsed)

خيارات إضافية توفر وحدة timeit طريقة ملائمة لقياس مقتطفات التعليمات البرمجية وتحديد وقت تنفيذها بدقة أكبر . يستخدم مدخلات ذات حجم ثابت ويقيس متوسط ​​وقت التشغيل عبر تكرارات متعددة.

في الختام، عند قياس الوقت في بايثون، فمن المستحسن استخدام time.process_time() أو time.perf_counter() بدلا من الوقت المهمل.الساعة (). لمزيد من الدقة، يمكن الاستفادة من وحدة timeit لقياس أداء الكود.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3