একটি ছোট সুবিধার্থ শ্রেণীর সহায়তায় আপনি ইন্ডেন্টেড লাইনে ব্যয় করা সময়কে এইভাবে পরিমাপ করতে পারেন :
with CodeTimer():
line_to_measure()
another_line()
ইনডেন্টড লাইন (গুলি) সম্পাদন শেষ হওয়ার পরে যা নিম্নলিখিতগুলি দেখায়:
Code block took: x.xxx ms
আপডেট: আপনি এখন pip install linetimer
এবং তার সাথে ক্লাস পেতে পারেন from linetimer import CodeTimer
। দেখুন এই GitHub প্রকল্পের ।
উপরের শ্রেণীর জন্য কোড:
import timeit
class CodeTimer:
def __init__(self, name=None):
self.name = " '" + name + "'" if name else ''
def __enter__(self):
self.start = timeit.default_timer()
def __exit__(self, exc_type, exc_value, traceback):
self.took = (timeit.default_timer() - self.start) * 1000.0
print('Code block' + self.name + ' took: ' + str(self.took) + ' ms')
তারপরে আপনি যে কোড ব্লকগুলি পরিমাপ করতে চান তার নাম রাখতে পারেন:
with CodeTimer('loop 1'):
for i in range(100000):
pass
with CodeTimer('loop 2'):
for i in range(100000):
pass
Code block 'loop 1' took: 4.991 ms
Code block 'loop 2' took: 3.666 ms
এবং তাদের নীড় :
with CodeTimer('Outer'):
for i in range(100000):
pass
with CodeTimer('Inner'):
for i in range(100000):
pass
for i in range(100000):
pass
Code block 'Inner' took: 2.382 ms
Code block 'Outer' took: 10.466 ms
সম্পর্কিত timeit.default_timer()
, এটি ওএস এবং পাইথন সংস্করণের উপর ভিত্তি করে সেরা টাইমার ব্যবহার করে, এই উত্তরটি দেখুন ।
time.clock()
এবংtime.clock()
ইউনিক্সে সিপিইউ সময়টি উইন্ডোজে দেয়াল সময়কে পরিমাপ করে।time.time()
ওএসের সাথে আচরণের পরিবর্তিত হয় না এমনটি ব্যবহার করা ভাল । stackoverflow.com/questions/85451/…