View Full Version : آیا متغیر نیاز به Free شدن داره
Mask
شنبه 29 اسفند 1388, 15:41 عصر
با سلام
در برنامه ای بنا به دلایلی مجبور به تعریف حدود 100 متغیر با انواع مختلف شده ام.
این متغیرها وظیفه کنترل دارند و پس از کنترل وظیفشون تموم میشه.
آیا برای اینکه سرعت برنامه پایین نیاد نیازه که این متغیرها free شوند یا خوده ویندوز یا برنامه این کار رو انجام میده.
با تشکر.
vcldeveloper
شنبه 29 اسفند 1388, 15:59 عصر
متغیر از چه نوعی؟ Objectهایی که ایجاد می کنید هم نوعی متغیر هستند.
متغیرها به تنهایی موجب افزایش استفاده از حافظه میشند، نه کاهش سرعت برنامه. آزاد شدن متغیر به Scope آن بستگی داره؛ متغیری که در داخل یک تابع تعریف شده، با پایان یافتن اجرای آن تابع آزاد میشه. متغیری که به عنوان فیلد یک کلاس تعریف شده، اگر از آن کلاس شی ایی ساخته بشه، تا زمانی که آن شی آزاد نشده، فیلدهایش هم آزاد نمیشند. متغیری که به صورت Global تعریف شده باشه، تا پایان اجرای برنامه حافظه مربوطه را اشغال میکنه.
Mask
شنبه 29 اسفند 1388, 18:01 عصر
ممنون.
منظورم متغیر های استرینگ یا اینتیجر هست.
متغیرها به تنهایی موجب افزایش استفاده از حافظه میشند، نه کاهش سرعت برنامه
یعنی اشغال حافظه ربطی به سرعت برنامه نداره.
آخه سرعت برنامم پایین اومده . به نظرم میاد چون حافظه اشغاله عملیات پردازشی دیگه با سرعت کمتری میتونن وظیفشون رو انجام بدهند.
که به صورت Global تعریف شده باشه،
میشه این مورد رو توضیح بدید . به نظرم متغیر ها من از این نوعه.
با تشکر
pezhvakco
شنبه 29 اسفند 1388, 18:07 عصر
درود :
از :
منظورم متغیر های استرینگ یا اینتیجر هست.
به >
متغیری که در داخل یک تابع تعریف شده، با پایان یافتن اجرای آن تابع آزاد میشه.
متغیری که به صورت Global تعریف شده باشه، تا پایان اجرای برنامه حافظه مربوطه را اشغال میکنه.
از :
یعنی اشغال حافظه ربطی به سرعت برنامه نداره.
به :
اشغال حافظه به سرعت بی ربط نیست ولی با این حجم حافظه های معمول و نوع متغییر های شما تاثیر در حد صفر است .
اگه سرعت برنامت پایین اومده مشکل میتونه از جایی دیگه در برنامه و یا سیستم عاملت در مدیریتش باشه .
Felony
شنبه 29 اسفند 1388, 18:29 عصر
احتمال بسیار زیاد مشکل از الگوریتم ها استفاده شده برای پردازش هاتون هست ، الگوریتم هاتون رو بهینه کنید و یا دنبال الگوریتم ها بهتری برای عملیات مورد نظرتون باشید .
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.