حذف کد یا زمانبندی، کدوم برای سرعت وب بهتره؟
خلاصهٔ کاملتر
این مقاله واکنشیه به پست مارکو ایلیچ دربارهٔ زمانبندی اجرای کد روی مسیر بحرانی بارگذاری صفحه. نویسنده میگه با نظر ایلیچ دربارهٔ ارزش حذف کد کاملاً موافقه، ولی سر اولویتبندی بین حذف کد و زمانبندی مجدد اختلاف نظر داره. استدلال اصلیش اینه که چون هر دو روش هزینهٔ مشابهی برای فهم دقیق رفتار صفحه دارن، زمانبندی مجدد لزوماً ارزونتر یا سادهتر از حذف کد نیست.
به گفتهٔ نویسنده، تو تیمهای بزرگ حفظ یه ترتیب بهینهٔ بارگذاری منابع بین چند تیم مختلف، هماهنگی سازمانی زیادی میخواد و در برابر رگرشن شکنندهست؛ چون کدی که فقط به تعویق افتاده بازم روی ترد اصلی اجرا میشه و میتونه باعث تاخیرهای عجیب تو معیار INP بشه که ردیابیش سخته. در مقابل، حذف کد با یه محدودیت ساده روی حجم باندل قابل نگهداریه.
نویسنده یه الگوی خطرناک رو هم اسم میبره: رقابت بین تیمها برای preload شدن کدشون، که باعث میشه کد هر تیم دیگهای عقب بیفته و در بلندمدت این وضعیت بدون کنترل بدتر میشه، مخصوصاً تو معماریهای SPA. راهحلی که پیشنهاد میده اینه که سیستمهای preloading و deferred loading رو کلاً حذف کنی، حجم واقعی رو اندازه بگیری، و بعد کد رو کم کنی.
جمعبندی نویسنده اینه که رفتن از عملکرد ضعیف به متوسط، بیشتر یه مسئلهٔ مدیریتی و فرهنگیه تا فنی، و بیشتر تیمها باید اول روی کم کردن کد سمت کلاینت و انتقال کار به سرور تمرکز کنن، و زمانبندی مجدد رو فقط وقتی امتحان کنن که تیم واقعاً سیستم regression prevention قوی و بودجهٔ حجم مشخصی داشته باشه.
نکات کلیدی:
- نویسنده حذف کد رو به زمانبندی مجدد اون در تیمهای بزرگ ترجیح میده
- کد بهتعویقافتاده بازم رو ترد اصلی اجرا میشه و میتونه تاخیرهای INP ایجاد کنه
- preloading رقابتی بین تیمها میتونه تجربهٔ کاربر رو در SPAها بهمرور خراب کنه
- توصیهٔ نهایی: اول کد رو کم کن و کار رو به سرور ببر، زمانبندی مجدد رو برای مرحلهٔ بعد بذار




