PDA

View Full Version : تاثیر اضافه کردن فضا نام بر بازدهی سیستم



nazaninam
دوشنبه 29 مهر 1387, 09:21 صبح
سلام
میخواستم بدونم آیا اضافه کردن فضا نام (NameSpace) بر بازده (Performance) پروژه تاثیر میگذاره ؟
به عنوان مثال خودت دات نت در هنگام ایجاد یک صفحه aspx یک سری فضا نام را اضافه می کنه که ممکنه هیچ وقت ازشون استفاده نشه . آیا باید این فضا نام ها را حذف کنیم؟
سوال دوم اینه که چه تفاوتی (از نظر Performance سیستم) بین اضافه کردن فضا نام در بالای صفحه و یا استفاده به صورت Inline وجود دارد (مثلا System.IO.Path) و چه وقت باید از این نحوه تعریف استفاده کرد ؟
ممنون

Behrouz_Rad
دوشنبه 29 مهر 1387, 09:56 صبح
آیا اضافه کردن فضا نام (NameSpace) بر بازده (Performance) پروژه تاثیر میگذاره ؟

من به شخصه ندیدم جایی گفته باشن که اضافه کردم Namespace موجب ایجاد سربار میشه. فکر می کنم ذات JIT بودن دات نت، باعث بشه که سرباری به وجود نیاد. اما تعدادی هندلر اضافی هستند که باید با تگ clear از Web.Config حذف بشن که در حالت پیش فرض توسط برنامه نویس قابل دیدن نیستند و موجب ایجاد مراحل اضافی برای پردازش میشن.
Namespace هایی که در اکثر صفحات استفاده میشن رو در فایل Web.Config به پروژه معرفی کنید.


چه تفاوتی (از نظر Performance سیستم) بین اضافه کردن فضا نام در بالای صفحه و یا استفاده به صورت Inline وجود دارد (مثلا System.IO.Path) و چه وقت باید از این نحوه تعریف استفاده کرد ؟

دلیل تعریف Namespace در بالای صفحه یا در Web.Config، کوتاه کردن کدهاست. اینکه مجبور نباشی هر جا که نیاز به استفاده از اعضای اون Namespace داشتی، مرتباً مسیر اون عضو رو در Namespace ذکر کنی. من پیشنهاد می کنم اگر فقط یک بار هم ار عضوی از Namespace هم استفاده می کنی، باز هم به طور مستقیم مسیر اون رو ذکر نکنی. مزیت دیگه اینه که در یک نگاه میشه فهمید که برنامه نویس از چه Namespace هایی در برنامه استفاده کرده.

موفق باشید.

msakbari
سه شنبه 30 مهر 1387, 00:47 صبح
با سلام به دوست عزیزم .
در این خصوص می خواستم این نکته رو اشاره کنم که اگر از namespace هایی که در using اضافه می کنیم در کد برنامه شما استفاده ای نشود کلاسهای موجود در آنها در زمان کامپایل ، به کد ماشین تبدیل نخواهند شد و در runtime هیچ اثری هم از آنها نیست .
نکته ی دیگر آنکه از میان namespace اضافه شده در using فقط توابع و کلاسهایی در compiletime به زبان ماشین تبدیل می شوند که در کد برنامه از آنها استفاده شده باشد.

موفق باشید.

hadi000333
چهارشنبه 01 آبان 1387, 01:55 صبح
نمی دونم اینو از کجا خوندم اما نوشته بود اضافه کردن فضا نام فقط رو سرعت کامپایل تاثیر داره و ولی روی سرعت برنامه یا میزان حاظه تاثیری نداره.