profiling
یکی از مهمترین و جذابترین مباحث هست که یک توسعه دهنده باید باهاش آشنا باشه (توی رزومه هم خیلی مهمه اونجایی که شما میگید من ۲۰٪ کدهای قبلی رو اپتیمایز کردم؛ شاید تو خیلی از شرکتهای ایران کیلویی باشه ولی شرکتهای درست و حسابی باید گزارش profiling رو ارائه بدید)
ساده ترین قدم توی پروفایلینگ استفاده از پکیج timeit هست؛ توی دیتاساینس هم یکی از BuiltIn Magic های بسیار مهم IPython هست.
کجا بدرد میخوره؟
وقتی شما بین استفاده از دوتا روش مشکل دارید (ولی این ۲ تا کد معمولا بین ۱-۱۰ خط هست)
۲ تا پارامتر مهم داره؛
۱- کدی هست که میخواید سرعت اجراش رو تست کنید.
۲- تعداد تکرار یا اجرای اون کد هست (مثال بالا ۱۰۰) و چون زمانی که بر میگردونه با تعداد تکرار هست مقدارش رو تقسیم بر تعداد تکرار میکنیم تا میانگین زمان اجرای ۱ بار اون کد بدست بیاد (بر حسب ثانیه)
نکته :هیچوقت تعداد تکرار رو ۱ نذارید تا عدد دقیقتری بدست بیارید.
@PyHints
خروجی کد بالا بین خط ۲۱ تا ۲۴.