Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.12;
Скачать: CL | DM;

Вниз

Уменьшить использование памяти...   Найти похожие ветки 

 
blackgrin   (2003-06-02 23:07) [0]

Уважаемые мастера!
У меня есть процедура и в ней достаточно много переменых. Эта процедура Выполняется очень много раз(5-10 тысяч) и в следствии (я так полагаю этого) приложение при каждом обращении к этой процедуре загребает под себя еще определёный объем памяти. В итоге по свединиям винды приложение забрало 300-400 М ОЗУ :( Как сделать так, чтоб при обращении к процедуре не отгребался кусок памяти а просто брался постоянно один и перед каждым выполнением процедуры - обнулялся.
Заранее спасибо!


 
Endi ©   (2003-06-02 23:10) [1]

Попробуй сделать DLL с этой процедурой и далее в теле программы вызывать ее при начале использования и по окончании освобождая память от нее.


 
Xoy   (2003-06-02 23:16) [2]

попробуй сделать переменные глобальными


 
blackgrin   (2003-06-02 23:22) [3]

Endi, попробую...
Xoy, программа на 5 тыс. строк и там куча процедур, и я уверен что будут накладки вида одно имя переменой но разные типы. Эта мысль у меня появлялась уже ...


 
Юрий Зотов ©   (2003-06-02 23:37) [4]

> приложение при каждом обращении к этой процедуре загребает
> под себя еще определёный объем памяти...

...а после выхода из этой процедуры ровно такой же объем освобождает. Уж не говоря о том, что локальные переменные размещаются в заранее распределенном стеке, то есть дополнительной памяти не требуют.

Так что Ваше предположение вряд ли верно. Скорее всего, утечка памяти происходит из-за того, что где-то Вы не уничтожаете какие-то динамически создаваемые объекты, или не освобождаете динамическую память, или еще что-то в этом духе.

А чтобы сказать точнее, нужно видеть код.



Страницы: 1 вся ветка

Текущий архив: 2003.06.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
1-34798
a72
2003-05-29 10:39
2003.06.12
Обработка событий в своем компоненте


3-34685
DBDev
2003-05-22 16:08
2003.06.12
ПОМОГИТЕ! Хранимая процедура возвращает VARCHAR(255)


14-34988
ret_777
2003-05-26 12:46
2003.06.12
восстановление базы данных InterBase


14-34968
Любаша
2003-05-28 15:29
2003.06.12
Определение существования E-Mail адреса


14-34969
N119
2003-05-28 13:18
2003.06.12
LOL! Кошки чудят.