Codino School
Open in Telegram
پروفایل تخصصی مدرس : https://www.github.com/imanghafoori1 آموزش ترفندهای clean code, آموزش laravel @codino_admin
Show more1 859
Subscribers
No data24 hours
No data7 days
-630 days
Posts Archive
1 859
+1
در بهینه سازی مجدد در نسخه
v1.0.366 این بار سرعت اجرا دستور زیر ۲ برابر شد.
روش بهینه سازی این بار استفاده از hash table به جای عملگر === بود.
php artisan check:import
https://github.com/imanghafoori1/laravel-microscope
🔬🔬🔬
@codino1 859
+1
قبل و بعد از این بهینه سازی
دستور نصب میکروسکوپ:
composer require imanghafoori/laravel-microscope --devدستور بهینه سازی شده در نسخه جدید:
php artisan check:import
احتمالا در نسخه های بعدی سریع تر هم بشه 🙂
@codino1 859
▪️شاید باورتون نشه ولی با تغییر ترتیب اعضای این آرایه دستور check:import حدود ۳۰-۴۰٪ سریع تر اجرا شد.
▪️ منطق شم اینه:
اونایی که به لحاظ آماری تو کد پر تکرار هستند باید بالاتر قرار بگیرند و اونایی که به ندرت استفاده میشن باید برن پایین...
چون از بالا به پایین وقتی داره جستجو میکنه به محض پیدا شدن، ادامه لیست رو بررسی نمیکنه. پس چه بهتر که پرکاربردها بالا باشن که پایینی ها الکی بررسی نشن.
▪️ نسخه جدید هنوز منتشر نشده...
@codino
1 859
در نسخه ی v1.0.364 میتونید دستور زیر رو اجرا کنید:
php artian check:arrow_functions --folder=app
تبدیل خودکار توابع بینام به معادل شون از نوع پیکانی
fn () =>
@codino1 859
این فایل رو میتونید بذارید داخل پوشه commands
و با دستور artisan test:parallel
تستهاتون رو به صورت موازی در ۳ رشته مجزا اجرا کنید.
البته در نظر داشته باشید که که باید سه فایل phpunit1.xml و phpunit2.xml , phpunit3.xml رو تعریف کنید و داخل شون تست سوییت های متفاوت برای پوشه های متفاوت بنویسید. (مثال ش رو در قسمت کامنت ها ببینید)
برای پروژه ما سرعت تست ها تقریبا ۲ برابر شد.
به هر حال یه نگاهی به محتوای فایل داشته باشید. آموزنده س.
@codino
1 859
این فایل رو داخل پوشه tests قرار بدید و بعد این دستور رو اجرا کنید:
php artisan test --printer=Tests\Printer
اتفاق جالبی براتون میافته 😏
البته اگر تستی در بساط داشته باشید...
@codino1 859
در نسخه جدید یه لایه cache روی این دستور اضافه شد که سرعت ش رو تا ۱۰ برابر بیشتر میکنه.
@codino
1 859
در نسخه v1.0.353 دستور:
php artisan check:imports --folder=folder1,folder2
قابلیت این رو داره که چند تا فولدر رو بهش بدید و بین شون کاما , بگذارید.
https://github.com/imanghafoori1/laravel-microscope
@codino