View Full Version : سوال: استفاده از کوتیشن برای بالا رفتن سرعت ؟
RoostaYeBekr
دوشنبه 20 آبان 1387, 13:25 عصر
با سلام
من در یکی از ایبوک های مربوط به PHP خواندم که استفاده از علامت ' به جای " در کدهای HTML اش ، باعث بالا رفتن سرعت می شود.
سوال من این است که آیا در ASP.NET و در بخشی که داریم توسط HTML و یا JavaScript کدها را می نویسیم ، موضوعی که در بالا گفتم ، صادق است؟
بعد اگر صادق است ، چرا پیشفرض کدهای HTML در ASP.NET ، از " استفاده شده ؟
مرسی.:متفکر:
RoostaYeBekr
دوشنبه 20 آبان 1387, 21:37 عصر
این ebook رو باید به عقل نویستندش شک کرد !!!!
یا اینکه نوشته اون بنده خدا رو شما تحریف کرده باشید !!!!
اینکه گاهی برای هر چیز کوچیکی که ما فکرش را نمی کنیم ، کلی مطلب وجود دارد ، دلیل نمی شود که به عقل کسی شک کنیم یا بگوئیم کسی چیزی را تحریف کرده .
من یک Print Screen از ایبوکی که گفتم ، فرستادم . در ضمن این ایبوک ، کلی مطلب دیگر راجع به همین قضیه ، به همراه استثناهایی در رابطه با همین مورد بیان کرده.
دقت این ایبوک روی چنین مسائلی که خیلی زیاد هم اهمیت دارد ، جای تشکر دارد.
ایمیل سازنده ایبوک :
m.bashiry@gmail.com (m.bashiry@gmail.com)
نام سازنده ایبوک :
محمد بشیری
امید امرایی
دوشنبه 20 آبان 1387, 22:28 عصر
با سلام
من در یکی از ایبوک های مربوط به PHP خواندم که استفاده از علامت ' به جای " در کدهای HTML اش ، باعث بالا رفتن سرعت می شود.
سوال من این است که آیا در ASP.NET و در بخشی که داریم توسط HTML و یا JavaScript کدها را می نویسیم ، موضوعی که در بالا گفتم ، صادق است؟
بعد اگر صادق است ، چرا پیشفرض کدهای HTML در ASP.NET ، از " استفاده شده ؟
مرسی.:متفکر:
بله دوست عزیز در مورد PHP دقیقا درسته چرا عملکرد کاراکترهای کنترلی در استفاده از " نسبت به ' متفاوته و طبیعتا تفسیر متفاوتی رو هم می طلبه . اما اصلا دلیلی وجود نداره که در Javascript و یا ASP.net هم دقیقا باید همین باشه .
شما HTML رو مطرح کردید که در این مورد کاملا بر عکسه و سرعت تحلیل " بالاتر و استفاده از اون کارآمد تره.
این در حالیه که در زبان هایی مثل Paskal یا VB استفاده از " کاربرد چندانی نداره و این در هر حال به نوع مفسر اون زبان بر می گرده
موفق باشید
Ali100
سه شنبه 21 آبان 1387, 00:58 صبح
حرف شما کاملا درسته چون من این مطلبو رو اینترنت هم دیدم ( منبع این کتاب نبود )... البته اختلاف زیاد نیست شاید اختلاف زمانی به هزارم درصد برسه با این حال در یک صفحه استفاده از متغییرها ( Variables ) هر چقدر بیشتر باشه اختلاف زمانی هم بیشتر می شه .
================================================== ==============
ولی HTML کلا با PHP , asp cgi تفاوت کلی داره .
صفحات HTML ایستا ( Static ) هستن . شما وقتی با Browser وارد یک صفحه HTML می شین صفحه
HTML و Javascript و ... اول دانلود می شه رو کامپیوتر خودتون و بعد( در حال دانلود ) این کدها از روی کامپیوتر خودتون اجرا می شن ... ولی این کدها چه جوری اجرا می شه ؟ در اصل Browser با موتور داخلی خودش HTML و Javascript
رو اجرا می کنه مثلا اگر با Firefox به یک سایت HTML بریم اول صفحه رو دانلود می کنه رو کامپیوتر خودمون
بعد این Firefox هست که کدها رو اجرا می کنه ... Internet Explorer و بقیه Browser ها هم همین کارو می کنن ... یکی از دلیلهایی که کدها در Browser های مختلف یکسان اجرا نمی شن همینه ( حتی با DOCTYPE استاندارد ) .
رو کامپیوتر خودتون یک کد HTML (بد.ن جاوا اسکریپت ) که حداکثر به چند صد کیلو بایت می رسه
فکر می کنی چقدر برای اجرا زمان بخواد ( حتی با قدمی ترین CPU ها ) .. اکثر زمان برای لود شدن صفحه استفاده
می شه ( در HTML معمولی ) .
ولی صفحات PHP پویا ( Dynamic ) هستن . کدهای PHP و asp روی سرور اجرا می شن و نتیجه اجرای این
کدها بشکل HTML نشون داده می شه
برای همین در PHP زمان اجرای کدها و تعداد بازدید کننده ها تاثیر مستقیم روی فشار کاری پردازنده یا پروسسور های سرور داره . هر چی زمان اجرای کدها کمتر باشه حتما بهتره .
================================================== ============
هر چند این آزمایشها نسبی هستنو نتیجه آزمایش به خیلی چیزا بستگی داره
================================================== ============
در مورد Pascal که خیلی وقته Visual شده و به Delphi تبدیل شده در اصل Delphi همون پاسکال قدیمیه .
ولی VB بشدت به " یا Double Quotes وابسته هست بدون " اصلا نمی شه VB یا جدیدترش VB .Net نوشت
حتی در VBscript هم کاربرد زیادی داره ...
امید امرایی
سه شنبه 21 آبان 1387, 13:29 عصر
Ali100 (http://barnamenevis.org/forum/member.php?u=75300) عزیز
بیشتر توضیحات شما با موضوع مرتبط نبود چرا که موضع بحث اینکه چی و کی کد ها رو پردازش می کنه نیست بلکه می خوایم بدونیم چه تفاوتی بین تحلیل " و ' در Javascrip یا ASP.net وجود داره .
این لفظ غلط رو هم که Delphi همون پاسکاله یه عده سر زبونا انداختن و بعد کنار رفتن . Delphi تنها از Compiler پاسکال استفاده می کنه و هیچ ارتباطی با اون نداره . و جالبه که بدونید در دلفی رشته ها با " (Double Quotes) اصلا معتبر نیستند .
صحبت بنده دقیقا اینه که این وابستگی یا عدم اون به مفسر ها بر می گرده و اینکه چه نوع برخوردی با این عملگر ها دارن و منطقیه که استفاده از یکی باعث افزایش سرعت و دیگری کاهش سرعت بشه .
البته که همه ما هم می دونیم این اختلاف سرعت در حد نانو ثانیه هست ولی این دلیل نمی شه که بهش بی توجه باشیم .
موفق باشید
RoostaYeBekr
سه شنبه 21 آبان 1387, 13:48 عصر
با سلام و تشکر از توضیحاتی که تا الان دادید
kassit گفته بودید:
شما HTML رو مطرح کردید که در این مورد کاملا بر عکسه و سرعت تحلیل " بالاتر و استفاده از اون کارآمد تره.
ممکنه منبع این موضوع را هم بگوئید . چون اگر منبعش را هم بگوئید ، دیگر قضیه حله. ممنون.
امید امرایی
سه شنبه 21 آبان 1387, 14:03 عصر
منبع خاصی وجود نداره . بنده بر اساس تحلیل که روی کامپوننت های WebBrowser داشتم خدمتتون عرض کردم .
و این موضوع کاملا قراردادیه چرا که ممکنه مرورگری طراحی بشه که اصلا از این دو عملگر پشتیبانی نکنه و صرفا استاندارد این رو حکم کرده .
Chabok
سه شنبه 21 آبان 1387, 17:24 عصر
اگه یکی از دوستان Php کار این تاپیک رو دیده بودن بحث به اینجا کشیده نمیشد :لبخندساده:
در php بین " و ' تفاوت هست . رشته هایی که بین " قرار می گیرند پردازش می شوند .(چیزی که سایر زیان ها ندارند)
ولی رشته هایی که بین ' قرار می گیرند هیچ گونه پردازشی روی آن ها نخواهد شد .(مثل سایر زبان ها)
برای مثال :
اگر ما یک متغیر داشته باشیم به نام i$ و مقدار آن 5 باشد ، خروجی رشته های زیر متفاوت خواهد بود :
"2 + 2 <> $i" = 2 + 2 <> 5
'2 + 2 <> $i' = 2 + 2 <> $i
همان گونه که می بینید مقدار i$ در رشته اول با نام متغیر جایگزین می شود .
ولی در مورد ' این گونه نیست .
در مورد Html و مرورگرها هم بعید میدونم فرقی از نظر سرعت داشته باشه .
موفق باشید . خدانگهدار :لبخندساده:
eAmin
سه شنبه 21 آبان 1387, 17:25 عصر
سلام.
توی php بیشتر برای من سرعت و نوشتن در کدها مهمه، البته با اینجور تفاصیر زیاد هم فرقی نمی کنه که از کدوم یکی استفاده کنیم، چون اون اختلاف ناچیز، زیاد هم تاثیر گذار نیست.
در ضمن نباید راحتی در نوشتن کدها مخصوصا در این مورد رو فدای اختلاف سرعت اجرا شدن ناچیز در این مورد کرد، البته در بعضی از موارد باید اینکار رو کرد!
همونطور که می دونید، استفاده از dq در زمانی که بخوایم، یه متغیر رو وارد یه string بکنیم خیلی راحت با قرار دادن نام اون متغیر اینکار رو انجام می دیم در صورتی که در sq باید اون متغیر رو با استفاده از dot متغیر رو لا به لایه متغیر های استرینگ بچسبونیمش!
RoostaYeBekr
جمعه 24 آبان 1387, 00:36 صبح
با سلام
البته من PHP کار نیستم . با توضیحات دوستان هم متوجه شدم که یک اشتباهی کردم .
در هر حال برای دوستانی که PHP کار می کنند ، یک Print Screen از ایبوک در زمینه ی افزایش سرعت در PHP را فرستادم . امیدوارم مفید باشد.
امید امرایی
جمعه 24 آبان 1387, 11:59 صبح
خوب البته مطرح کردن مسائل مربوط به PHP در جای خودش بهتر بود . اما این موضوع واقعا صحت داره و ما هم متوجه هستیم .
از طرفی جناب Amin eHelp (http://barnamenevis.org/forum/member.php?u=58981) عزیز هم خیلی منطقی فرمودن که گاهی نمی شه راحتی در کدنویسی رو فدای اینجور مسائل کرد .
در کل این موارد کاملا منطقی هستند و با یه تفکر جزیی علتشون پیدا می شه . به عنوان مثال این دستور if :
if(somecondition)
doSomeThing();
سریع تر از این نمونه اجرا می شه :
if(somecondition){
doSomeThing();
}
اگه دقت کنیم می بینیم دلیلش اینکه که در مورد دوم Compiler با دیدن } باید بگرده و { رو پیدا کنه که البته این کاهش سرعت در حد نانوثانیه است اما به هر حال وجود داره و منطقیه .
در PHP به دلیل تحلیل از نوع Compile این موضوع بیشتر اهمیت پیدا می کنه .
RoostaYeBekr
جمعه 24 آبان 1387, 13:06 عصر
با سلام
kassit ، چیز جالبی را راجع به { } مطرح کردید . فقط اگر ممکنه منبعش را هم می گوئید.
:تشویق:
ممنون.
امید امرایی
جمعه 24 آبان 1387, 13:15 عصر
والا متاسفانه بنده منابع رو به خاطر نمی سپرم و فکر می کنم همین قدر که منطقی باشه کافیه .
اما اگه جستجوی مختصری داشته باشید شاید مطالبی فراتر از اینها رو هم پیدا کنید .
----------------------------------
بنده به طبیعت علاقه زیادی دارم و اگه در مورد این روستای بکر یه توضیح کوچولو لطف کنید خیلی ممنون می شم.:چشمک:
البته به صورت خصوصی که در تالار مشکلی ایجاد نشه
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.