• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
دلیل کامپایلر نداشتن php?
#1

سلام
یکی از مشکلات بزرگ php در مقابل asp.net اینه که php کامپایل نمیشه و توسط مفسر اجرا میشه . به همین دلیل با هربار اجرا باید از نو
تمام کدهای نوشته شده به زبان ماشین تبدیل شوند ولی asp از کامپایلر استفاده میکنه و طبیعتا سرعت بالاتری در اجرا داره.


سوال من اینکه چرا واسه php هیچ کامپایلری درست نمی کنند تا بتونه با سرعت بالاتری اجرا شه
ایا امکانش وجود نداره یا امکانش هست و اینطور کامپایلری درست شده ؟
  پاسخ
تشکر شده توسط :
#2
سلام،
نقل قول:ولی asp از کامپایلر استفاده میکنه و طبیعتا سرعت بالاتری در اجرا داره
روی چه اساسی میگین که ASP سرعت بالاتری داره؟
غایب
  پاسخ
تشکر شده توسط :
#3
(۱۳۹۴ دى ۲۹, ۰۹:۴۴ ب.ظ)Alaa نوشته: سلام،
نقل قول:ولی asp از کامپایلر استفاده میکنه و طبیعتا سرعت بالاتری در اجرا داره
روی چه اساسی میگین که ASP سرعت بالاتری داره؟

دلیل اول اینکه asp از کامپایلر استفاده میکنه و کدهارو به زبان سطح ماشین تبدیل میکنه بنابراین وقتی یه صفحه asp باز می کنی زمان خیلی کمتری صرف میشه تا وقتی که یه صفحه php باز میشه و کدها خط به خط باید به زبان ماشین تیدیل شوند .

دلیل دوم:اگه تو سایتهای ایرانی و خارجی سرچ کنی سرعتشون به صورت آزمایشگاهی تست شده و برای سایتهای متوسط و بزرگ سرعت اجرای asp حدود ده برابر سایتهای php اندازه گیری شده

حالا از اینا که بگذریم میخام ببینم چرا php کامپایار نداره تا سرعت اجراش نسبت به حالت تفسیری بالاتر بره
  پاسخ
تشکر شده توسط :
#4
سلام،
من از پی‌اچ‌پی دارم دفاع نمیکنما. سواله برام واقعا.
نقل قول:وقتی یه صفحه asp باز می کنی زمان خیلی کمتری صرف میشه
نقل قول:سرعت اجرای asp حدود ده برابر سایتهای php اندازه گیری شده
منبع ارائه میکنی؟

در مورد سوالت،
راجع‌به HHVM تحقیق کن. (البته باید بگم با ارائه نسخه ۷ پی‌اچ‌پی یه جورایی داستانش منتفی هست)
غایب
  پاسخ
تشکر شده توسط :
#5
نقل قول:سوال من اینکه چرا واسه php هیچ کامپایلری درست نمی کنند تا بتونه با سرعت بالاتری اجرا شه
http://www.phpcompiler.org
Alternative PHP Cache - APC ?
...

نقل قول:
نقل قول:ولی asp از کامپایلر استفاده میکنه و طبیعتا سرعت بالاتری در اجرا داره
روی چه اساسی میگین که ASP سرعت بالاتری داره؟
فکر کنم درست میگه، کدهای ماشین و کلاً Native سریعتر پردازش میشن، چون سطح هایی به ماشین/سخت افزار نزدیک ترن.
ولی مفسر باید 2-3 تا مرحله طی کنه تا برسه به سطح کد ماشین/native
PHP -> Python -> Java -> C -> Assembly

تا اونجایی هم که یادمه php به bytecode تبدیل میشه. اونقدر سریعه که متوجه نمیشی که بگی ASP سریعتره. ولی با بنچمارک چرا
ولی خب ظرفیت PHP برای کارهای سنگین و بزرگ بیشتره، مخصوصاً max connection
اینم مدرک: https://en.wikipedia.org/wiki/Programmin...r_websites
http://blog.richardknop.com/2010/03/some...-websites/
وبلاگ: Yousha.Blog.ir

صدام: "اگر با ارتش شاه ایران طرف بودیم، یک ماهه جنگ را می بردیم"
http://gulfnews.com/opinion/thinkers/ira...i-1.500997
  پاسخ
تشکر شده توسط :
#6
(۱۳۹۴ دى ۳۰, ۱۰:۰۹ ق.ظ)Y.P.Y نوشته:
نقل قول:
نقل قول:ولی asp از کامپایلر استفاده میکنه و طبیعتا سرعت بالاتری در اجرا داره
روی چه اساسی میگین که ASP سرعت بالاتری داره؟
فکر کنم درست میگه، کدهای ماشین و کلاً Native سریعتر پردازش میشن، چون سطح هایی به ماشین/سخت افزار نزدیک ترن.
ولی مفسر باید 2-3 تا مرحله طی کنه تا برسه به سطح کد ماشین/native
PHP -> Python -> Java -> C -> Assembly

تا اونجایی هم که یادمه php به bytecode تبدیل میشه. اونقدر سریعه که متوجه نمیشی که بگی ASP سریعتره. ولی با بنچمارک چرا
ولی خب ظرفیت PHP برای کارهای سنگین و بزرگ بیشتره، مخصوصاً max connection
اینم مدرک: https://en.wikipedia.org/wiki/Programmin...r_websites
http://blog.richardknop.com/2010/03/some...-websites/

به نظر من وقتی بحث مقایسه این دو مورد پیش میاد نمیشه فقط راجع‌به زبان نظر داد، یه مجموعه‌ای از زبان+سیستم‌عامل+پایگاه‌داده+... هست. به همین خاطر هم نمیشه این‌ها رو مقایسه کرد. فکر هم نمیکنم هیچ منبع رسمی باشه که این دوتا زبان رو از نظر سرعت مقایسه کرده باشه. (من که قبلاها پیدا نکرده بودم ولی الان رو نمیدونم.)
فرآیند تفسیر کدها و تبدیل به زبان ماشین از نظر زمانی (مخصوصا با سخت‌افزارهای موجود) بسیار بسیار کمه و فکر نمیکنم این روزها دیگه اصلا حساب بشه. (اگه حساب میشد الان هممون داشتیم Assembly کد میزدیم، این همه زبان سطح بالا به وجود نمیومد [البته این نظر منه، شاید هم اشتباه باشه Big Grin] )
کلا بحثی هست که آخر نداره به نظر من. چون واقعا قابل مقایسه نیستن، من می‌خواستم ببینم با منبع دارن این حرف رو میزنن یا سلیقه‌ای.
غایب
  پاسخ
تشکر شده توسط :
#7
(۱۳۹۴ دى ۳۰, ۱۰:۲۶ ق.ظ)Alaa نوشته: من می‌خواستم ببینم با منبع دارن این حرف رو میزنن یا سلیقه‌ای.
خیلی ممنون از جوابایی که به سوال من دادید.
100% هیچ تعصب و سلیقه شخصی در کار نیست چون من با asp.net خیلی آشنایی ندارم تا تعصبی رو این فریم ورک داشته باشم . سایت زیر نتایج سرعت چند زبان را درسایتهای کوچک ، متوسط و بزرگ از که به صورت آزمایشگاهی انجام شده رو گذاشته که تو اون سرعت php از asp بیشتر ولی از asp.net خیلی کمتره

مقایسه سرعت زبانهای مختلف تحت وب
  پاسخ
تشکر شده توسط : Alaa
#8
(۱۳۹۴ دى ۳۰, ۱۰:۲۶ ق.ظ)Alaa نوشته: فرآیند تفسیر کدها و تبدیل به زبان ماشین از نظر زمانی (مخصوصا با سخت‌افزارهای موجود) بسیار بسیار کمه و فکر نمیکنم این روزها دیگه اصلا حساب بشه. (اگه حساب میشد الان هممون داشتیم Assembly کد میزدیم، این همه زبان سطح بالا به وجود نمیومد [البته این نظر منه، شاید هم اشتباه باشه Big Grin] )

به نظر شخصی خود من هم درست که php کامپایلر نداره ولی در عوض به دلیل سرعت اتصالش به mysql و استفاده کردنش از سیستم عامل linux در مجموع سرعتش بالاتر از asp.net باشه و تفاوت در سرعت کامپایلر برای سایتهای متوسط محسوس نیست
  پاسخ
تشکر شده توسط :
#9
مقایسه از اساس اشتباه هست. حالا چون asp.net کامپایل میشه الزاما سریعتر نیست. وقتی مفسری کندتر از کامپایلری میشه که دقیقا کدهای یکسانی رو برای اجرا یک فرآیند پیش برن.
البته الان دیگه زبانهای مفسری جایگاه قبل رو ندارن و زبونهای برنامه نویسی جدید معایب زبان برنامه نویسی php رو گرفتن. ولی فراموش نکنیم که فقط سرعت مهم نیست و ساده بودن و امکانات زبان برنامه نویسی ابزارهای اون هم مهمه که هنوز php به عنوان یک زبان برنامه نویسی که ابزارهای بسیار زیادی براش نوشته شده و همچنین ساده بودن زبون برنامه نویسی رتبه اول رو داره
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان