PDA

View Full Version : سوال: عملکرد PHP



MoMo121
شنبه 31 مرداد 1394, 17:30 عصر
با سلام خدمت تمامی دوستان

چند روز یه سوالی ذهنم رو درگیر کرده اونم اینه که اگه بتونیم تمام فایل های PHP یک سایت (شامل چند 10 خط کد) رو درون یک فایل PHP قرار بدیم شامل تمامی کلاس ها و کد های موجود کل سایت آیا این کار باعث افزایش سرعت PHP میشه یا اینکه آدرس دهی هایی که توی رم اتفاق میفته و حجم زیاد کد ها سرعت PHP کم میشه ؟

باتشکر فراوان

Unique
شنبه 31 مرداد 1394, 18:41 عصر
توی کدنویسی انقدر که تمیز و منظم و با ساختار ساختن فایل ها و بخش های مختلفت پروژه به شما در پیشبرد کار و توسعه کمک میکنه ، جمع کردن کل سورس یتوی یک فایل حتی اگر فرض کنیم تاثیری هم داشته باشه اونقدر نیست که شما ذهنتون را درگیرش کنید. پس تا دلتون میخواد تمیز و منظم و ساختار یافته کار کنید و نگران تعداد فایل ها نباشید. سرور هایی که شما سایتتون را روشون قرار میدین این عملیات براشون خیلی ساده و مسخره تر از اون چیزی هست که شما فکر میکنید.

us1234
شنبه 31 مرداد 1394, 19:29 عصر
با سلام خدمت تمامی دوستان

چند روز یه سوالی ذهنم رو درگیر کرده اونم اینه که اگه بتونیم تمام فایل های PHP یک سایت (شامل چند 10 خط کد) رو درون یک فایل PHP قرار بدیم شامل تمامی کلاس ها و کد های موجود کل سایت آیا این کار باعث افزایش سرعت PHP میشه یا اینکه آدرس دهی هایی که توی رم اتفاق میفته و حجم زیاد کد ها سرعت PHP کم میشه ؟

باتشکر فراوان

برای افزایش سرعت اجرا باید یکسری اصول را بدانید مثل مرتبه اجرا یک تکه کد یا اصول منطق برنامه نویسی یا ترفند های حل مساله .

برای مرتبه ، مثلا میدانید که تابع های بازگشتی بدترین مرتبه اجرا دارند و اگر یک تابع بازگشتی تبدیل به تابع معمولی شود کلی استفاده بیهوده کش cpu و رم سرور کم میشود .

در خصوص منطق و اصول حل مساله همه چیز بستگی به قدرت ذهن و خلاقیت کدنویس داره ، یک مثال ساده میزنم ، مثلا قراره اعداد اول بین 0 تا 10 میلیون را پیدا کنیم ، روش کار مشخص است عدد اول نباید بر هیچ عدد کوچکتر از خودش تقسیم شود .
حالا یک برنامه نویسی حرفه ای میدونه هیچ عدد زوج ( بجز 2 ) اول نیست ، و همچنین هیچ عددی بر عداد بزرگتر از نصف خودش تقسیم نمیشود ( با همین 2 ترفند چقدر از مراحلی که باید طی میشد کم شد ! )

در کل تاثیر موارد مثل کد نویسی استاندارد خیلی خیلی زیادتر از این است که بخواهید کل فایل ها تبدیل به یک فایل شود یا نمیدونم تمام کد ها داخل یک خط باشد و ...

MoMo121
شنبه 31 مرداد 1394, 21:03 عصر
توی کدنویسی انقدر که تمیز و منظم و با ساختار ساختن فایل ها و بخش های مختلفت پروژه به شما در پیشبرد کار و توسعه کمک میکنه ، جمع کردن کل سورس یتوی یک فایل حتی اگر فرض کنیم تاثیری هم داشته باشه اونقدر نیست که شما ذهنتون را درگیرش کنید. پس تا دلتون میخواد تمیز و منظم و ساختار یافته کار کنید و نگران تعداد فایل ها نباشید. سرور هایی که شما سایتتون را روشون قرار میدین این عملیات براشون خیلی ساده و مسخره تر از اون چیزی هست که شما فکر میکنید.

حرف شما کاملا متین هستش ولی سوال من چیز دیگه است و توی اسن زمینه اصلا و به هیچ وجه برام این موضوع که کد تمیزی داشته باشم مطرح نیست و اون چیزی که خیلی برام اهمیت داره این هستش که توی سرعت تاثیر مثبت داره یا منفی و باز هم تاکید موکد روی سرعته چون قبلا هم سر سرعت و توانایی های سرور و اینها با شما بحث داشتم و تنها چیزی که برام مهمه همینه با تشکر فراوان

MoMo121
شنبه 31 مرداد 1394, 22:10 عصر
برای افزایش سرعت اجرا باید یکسری اصول را بدانید مثل مرتبه اجرا یک تکه کد یا اصول منطق برنامه نویسی یا ترفند های حل مساله .

برای مرتبه ، مثلا میدانید که تابع های بازگشتی بدترین مرتبه اجرا دارند و اگر یک تابع بازگشتی تبدیل به تابع معمولی شود کلی استفاده بیهوده کش cpu و رم سرور کم میشود .

در خصوص منطق و اصول حل مساله همه چیز بستگی به قدرت ذهن و خلاقیت کدنویس داره ، یک مثال ساده میزنم ، مثلا قراره اعداد اول بین 0 تا 10 میلیون را پیدا کنیم ، روش کار مشخص است عدد اول نباید بر هیچ عدد کوچکتر از خودش تقسیم شود .
حالا یک برنامه نویسی حرفه ای میدونه هیچ عدد زوج ( بجز 2 ) اول نیست ، و همچنین هیچ عددی بر عداد بزرگتر از نصف خودش تقسیم نمیشود ( با همین 2 ترفند چقدر از مراحلی که باید طی میشد کم شد ! )

در کل تاثیر موارد مثل کد نویسی استاندارد خیلی خیلی زیادتر از این است که بخواهید کل فایل ها تبدیل به یک فایل شود یا نمیدونم تمام کد ها داخل یک خط باشد و ...


بله این مطالب رو بعد از 7 سال کاملا متوجه ام فقط میخوام تاثیر ایین کار رو بدونم همین

pbm_soy
یک شنبه 01 شهریور 1394, 00:53 صبح
تاثیر آنچنانی نخواهد داشت و شاید تحت شرایطی نتیجه عکس هم بدهد!

میتوانید بررسی کنید همانطوری که میگوئید بیائید همه کدها را در یک فایل قرار بدید و اجراش کنید و زمان اجرا را اندازه بگیرید و سپس حالت دیگر را آزمایش کنید
ولی این چیزی که میگوئید زیاد منطقی نیست چون من همچین موردی تا حالا ندیدم در کدهای نوشته شده با php اگه چنین چیزی امکان داشت حتما یکی اینکار را انجام میداد (در پروژه های متن باز)
مثلا در پروژه های جاوا اسکریپیتی برای سرعت لود بالا برود آنرا فشرده میکنند با حذف کردن تمام فواصل خالی بین دستورات ولی یک نسخه معمولی قابل خواندن برای برنامه نویسان میگذارند!

Unique
یک شنبه 01 شهریور 1394, 00:56 صبح
سرعت اونقدر که به شیوه کدنویسی ،‌ روش های ارتباط با پایگاه داده ، معماری پایگاه داده ،‌ وضعیت بهینه بودن query ها ، قدرت سرویس دهنده و ... مربوط میشه به اینکه توی چند تا فایل یا یک فایل کار کنیم ربطی نداره. تاثیرش به زور در رعایت همه شرایط بالا به یک دهم درصد برسه که نمیرسه. من تا حالا توی هر پروژه ای مشکل سرعت دیدم یا مشکل از عدم نرمال سازی و ایندکس گذاری و بهینه سازی پایگاه داده بوده یا انتظار زیاد از یک سرور با قدرت مشخص داشتند.