IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> Узнать объем оперативной памяти для программы по коду на АЯ, Помогите, срочно надо!
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 0
Пол: Мужской

Репутация: -  0  +


Как на основании текста программы на алгоритмическом языке определить требуемый объем рабочей области оперативной памяти?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Просуммировать произведения длин массивов на размер данных.
Это грубо. И, строго говоря, справедливо только для статически распределяемой памяти.
Для определения объема используемой динамической памяти нужно отслеживать выполнение программы.
Но нужно отметить, что в случае динамического выделения памяти (а именно этот механизм является основным) сам объем может зависеть от характера обрабатываемых данных.
Например, если программа обрабатывает изображение, то в большинстве случаев выделенный объем памяти будет кратен размеру изображения.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 0
Пол: Мужской

Репутация: -  0  +


а переменные, длина строки тоже учитывается?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Профи
****

Группа: Пользователи
Сообщений: 618
Пол: Мужской

Репутация: -  24  +


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


--------------------
Close the World...txeN eht nepO
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 0
Пол: Мужской

Репутация: -  0  +


спасибо огромное за помощь
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


М
Название темы отредактировано (Правила Форума, п.4)



Цитата(Sansei4 @ 6.04.2011 19:58) *
Как на основании текста программы на алгоритмическом языке определить требуемый объем рабочей области оперативной памяти?

Ответ очень простой. Если не выполнять (и не моделировать выполнение), то это невозможно.

if a>0 then GetMem(b,10) else (b,100000);

Если тут неизвестнен знак a, то ничего сказать нельзя. А знак можно узнать только выполнением.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 19:59
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name