بایگانی

Posts Tagged ‘Performance’

افزایش زمان Load صفحه

یکی از دلایلی که در سرعت کند Loading صفحه موثر است حجم بالای صفحه است که شما میتوانید با کاهش حجم آن و کاهش Rendering سرعت Load صفحه تان را بالا ببرید.
شاید برایتان جالب هم باشد که بدانید علت کند بودن صفحه تان چیست.برای این منظور میتوانید از ابزارهای زیر استفاده کنید:

ابزارهایی که می توانید برای بهینه سازی یک صفحه به کار ببرید:

بهینه سازی HTML:
Alentum Software ابزاری برای این کار به شما اراده خواهد داد

بهینه سازی CSS:
بهتر هست کلیه style ها را در یک فایل جمع آوری کنید و در صفحه HTML یک Reference به آن داشته باشید.برای بهینه سازی این فایل CSS هم میتوانید از اینابزار آنلاین استفاده کنید

بهینه سازی Javascript:
برای این کار هم میتوانید از ابزارهای زیر استفاده کنید:
jsCompress
YUI compressor
Dynamic tools JavaScript compressor

استفاده از Div به جای Table:
اساس وجود تگ Table برای استفاده Tabular است، اما بعضی از طراحان برای طراحی صفحات از این تگ به جای Div استفاده میکنن که این کار در Rendering و همچنین Search Engines Indexing تاثیر زیادی خواهد گذاشت.بهتر است که از Div برای این کار استفاده کنید و از Table در جای مناسب خود استفاده کنید…

دسته‌ها:Web Design برچسب‌ها: ,

تاثیر class selector روی performance در JQuery

مارس 23, 2010 ۱ دیدگاه

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

  1. $ (‹.myclass›)
  2. $ (‹p.myclass›)
  3. $ (‹.myclass.otherclass›)

اگر در جایی از این Framework استفاده می کنید که سرعت و performance برای شما اهمیت زیادی دارد بهتر است از روش دوم برای دسترسی به یک کلاس استفاده کنید.چون این روش یک تابع native را در جاوااسکریپت اجرا میکند(getElementsByTagName) که در اینجا JQuery یک فیلتر خواهد داشت و فقط در بین تگهای <p> کلاس مورد نظر را جستجو خواهد کرد.اما این درباره روش های دیگر طور دیگری خواهد بود و JQuery تابع getElementsByClassName() را اجرا خواهد کرد که در این صورت هر عنصری از DOM مورد جستجو قرار خواهد گرفت که این مسئله می تواند در سرعت تاثیر بگذارد.البته این تفاوت سرعت بستگی به پیچیدگی صفحه و تعداد المنت های DOM خواهد داشت.

بطور کلی نیازی به تمرکز به این سطح از بهینه سازی نیست و شما می توانید از آن صزف نظرکنید اما یادتان باشد که شما در محیط Web دارید برنامه نویسی می کنید نه ویندوز.

Vote on iDevCenter

دسته‌ها:JQuery, Performance برچسب‌ها: ,

تفاوت الحاق توسط StringBuilder و string در Performance

مارس 17, 2010 3 دیدگاه

چند وقت پیش مطلبی رو جایی دیدم که به نظرم جالب بود.ولی اون موقع وقت نداشتم برم دنبالش.مطلب در مورد استفاده از StringBuilder بود و استفاده از اون به جای string در concatenate.

اکثر برنامه نویسان وقتی میخواهند دو رشته را به هم بچسبانند از عملگر + استفاده میکنندو به این ترتیب دو رشته باهمدیگر ترکیب خواهند شد.برای concatenate دو روش خواهیم داشت.یکی استفاده از همین عملگر + که برای الحاق دو رشته از نوع string مورد استفاده قرار میگیره و یکی هم استفاده از StringBuilder.

تفاوت استفاده از این دو روش فقط در Performance هست و هر دو روش نتیجه یکسانی رو به ما خواهد داد.

اما چه اتفاقی میافته وقتی که ما  از روش زیر برای concatenate استفاده میکنیم.

Str1 += str2;

در این مورد استفاده با وجود اینکه ما دو نوع داریم ولی 3 نمونه در حافظه خواهیم داشت.اما دلیل :

در .Net آبجکت های string تغییرناپذیر هستن.یعنی وقتی به وجود میان مقدار اونها قابل تغییر نخواهد بود.به همین دلیل هست که وقتی مقدار str1 با str2 الحاق میشه در حقیقت str1 قبلی دور ریخته میشه و یک نمونه (instance) جدید از اون ساخته میشه که مقدار حاصل از concatenate را خواهد داشت.یعنی با این تعاریف 3 نمونه str1 قبلی، str1 جدید و یک نمونه هم از str2 که قبلا وجود داشته و تغییری نکرده است را خواهیم داشت.

حالا تصور کنید ما بخواهیم این عمل رو چندین بار با یک نمونه انجام بدیم که این کار باعث به وجود آمدن instance های اضافی در حافظه خواهد شد.

حالا ببینیم StringBuilder چگونه کار میکنه؟!

StringBuilder sb = new StringBuilder();

Sb.Append(str2);

StringBuilder برخلاف string تغییرپذیر است.به همین دلیل شما فقط یک نمونه از این کلاس خواهید داشت و وقتی یک رشته جدید رو به اون می چسبونید نمونه دیگری از اون ایجاد نخواهد شد و رشته جدید به نمونه موجود از StringBuilder اضافه خواهد شد.

طبیعتا استفاده از StringBuilder به صرفه تر و سریعتر خواهد بود.


Vote on iDevCenter

دسته‌ها:C#.Net, Performance برچسب‌ها: , , ,

Performance

بطور کلی اصطلاح Performance به سرعت یک برنامه اشاره دارد.بعضی مواقع شما میتوانید سرعت اجرای برنامه خود را با اعمال یک سری قوانین در کدهایتان بالا ببرید.در بعضی از برنامه ها، این مسئله مهم خواهد بود که شما به دقت کدهای خود را بررسی و امتحان کنید تا مطمئن شوید سریعترین حالت ممکن را انتخاب کرده اید.ولی در بعضی از برنامه ها نیز این مسئله اهمیت چندانی نخواهد داشت چون کد نوشته شده به طرز قابل قبولی اجرا خواهد شد.

وقتی شما میخواهید Performance را اندازه گیری و بهینه کنید، از رهنمودهای زیر باید پیروی کنید:

  • با تعیین اهداف Performance و تجزیه و تحلیل آن شروع کنید تا تعیین کنید چه مواقعی کدهای شما با آن اهداف همخوانی ندارند.
  • کدهای خود را در ابتدا طوری بنویسید که درست باشد، از اصول یک طراحی خوب تبعیت کند و منظورتان را به درستی نشان دهد.
  • اگر شما مجبور به بهینه سازی هستید ابتدا از قسمت های کوچکتر برنامه شروع کنید.اگر برنامه شما خواسته شما را از لحاظ Performance برطرف نمی کند مکان هایی از برنامه را که Performance  می تواند در آنجا می تواند ارتقاء پیدا کند مشخص کنید.دقت کنید که بعضی از چیزها شاید مشهود نباشد مانند متدهایی که به ندرت فراخوانی میشوند، یا متد هایی که ارزش زمانی آنها خیلی کمتر از متدهای دیگر است(متد A که 50 میلی ثانیه طول میکشد در مقابل متد B که 30 ثانیه طول میکشد)
دسته‌ها:Performance برچسب‌ها: