реклама на сайте
подробности

 
 
6 страниц V  « < 3 4 5 6 >  
Reply to this topicStart new topic
> Экономия RAM.
sigmaN
сообщение Mar 13 2016, 07:56
Сообщение #61


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



bb-offtopic.gif
Хахаха у zombi бомбануло прям так не слабо по ходу))))))))))
Не знаю, вроде zltigo дельные вещи говорил...


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
Jenya7
сообщение Mar 13 2016, 10:25
Сообщение #62


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Цитата(zombi @ Mar 11 2016, 02:37) *
Интересно помог ли ТС ваш трёп память освободить?

помог. вывод такой. взять камень с бОльшим RAM. дешевле чем внешнюю память ставить.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Mar 13 2016, 11:06
Сообщение #63


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



В однозадачном режиме использовать кучу безопасно. Выделил фрагмент, попользовался, освободил. Сложнее, когда задач несколько, и каждая может попросить памяти. Как определить худший случай, когда требуется максимальный объем?
Go to the top of the page
 
+Quote Post
zombi
сообщение Mar 13 2016, 11:22
Сообщение #64


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(Jenya7 @ Mar 13 2016, 14:25) *
помог. вывод такой. взять камень с бОльшим RAM. дешевле чем внешнюю память ставить.

Т.е. совет использовать менеджер памяти подтолкнул Вас к решению "взять камень с бОльшим RAM"?
Феерично!
Или это сарказм такой?
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 13 2016, 11:31
Сообщение #65


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(zombi @ Mar 13 2016, 14:22) *
Т.е. совет использовать менеджер памяти подтолкнул Вас к решению "взять камень с бОльшим RAM"?

Почитайте сообщение №51.
Go to the top of the page
 
+Quote Post
zombi
сообщение Mar 13 2016, 11:54
Сообщение #66


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(adnega @ Mar 13 2016, 14:31) *
Почитайте сообщение №51.

Не имею возражений к Вашему сообщению №51

И мне кажется что ТС сам же и ответил на свой вопрос написав:
Цитата(Jenya7 @ Mar 8 2016, 10:38) *
...закончился RAM. а я еще даже не начал писать.

Т.е. на этапе проектирования количество необходимой памяти не определено даже приблизительно.
О каких менеджерах вообще может идти речь? biggrin.gif
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 13 2016, 12:17
Сообщение #67


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(zombi @ Mar 13 2016, 14:54) *
Т.е. на этапе проектирования количество необходимой памяти не определено даже приблизительно.
О каких менеджерах вообще может идти речь? biggrin.gif

Мы с zltigo привели реальные примеры, когда пересмотр архитектуры позволил "найти" нужное количество памяти.
Если ТС не способен ухитриться (или задача не позволяет), то для него путь - тупо увеличить объем ОЗУ.
Отрицать на вашем месте вообще подход с использованием менеджеров памяти - не профессионально.
Go to the top of the page
 
+Quote Post
Jenya7
сообщение Mar 13 2016, 12:20
Сообщение #68


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Цитата(ViKo @ Mar 13 2016, 17:06) *
В однозадачном режиме использовать кучу безопасно. Выделил фрагмент, попользовался, освободил. Сложнее, когда задач несколько, и каждая может попросить памяти. Как определить худший случай, когда требуется максимальный объем?

тут нужно решать концептуально. есть 10 задач. либо загрузить их в RAM и проходить итерацией , либо брать по одной - загрузил-освободил - тогда можно и с malloc/free. но во втором случае возникает вопрос - где держать задачи.

хорошо. я написал код для PLC. В Ladder Diagram или мнемоник. где хранится пограмма которую PLC исполняет?

идея.положу во флеш..если останется место. он что то тоже стремительно убывает.

Сообщение отредактировал Jenya7 - Mar 13 2016, 13:35
Go to the top of the page
 
+Quote Post
zombi
сообщение Mar 13 2016, 12:25
Сообщение #69


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(adnega @ Mar 13 2016, 16:17) *
Отрицать на вашем месте вообще подход с использованием менеджеров памяти - не профессионально.

Обвинять кого либо в том чего он не говорил - не порядочно.
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 13 2016, 14:14
Сообщение #70


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(zombi @ Mar 13 2016, 15:25) *
Обвинять кого либо в том чего он не говорил - не порядочно.

Значит менеджеры памяти в некоторых задачах нужны.
Пригодность задачи для использования динамического выделения памяти определяет разработчик.
Если задача непригодна (пусть даже по причине отсутствия опыта у исполнителя) - наращиваем ОЗУ.
Все - конфликт исчерпан. Я прошу меня простить, если с кем-то поступил не порядочно.
Go to the top of the page
 
+Quote Post
zombi
сообщение Mar 13 2016, 20:38
Сообщение #71


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



...
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 13 2016, 20:40
Сообщение #72


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Тема исчерпана - неплохо бы закрыть и последнее почистить.
Go to the top of the page
 
+Quote Post
zombi
сообщение Mar 13 2016, 21:19
Сообщение #73


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(adnega @ Mar 14 2016, 00:40) *
Тема исчерпана - неплохо бы закрыть и последнее почистить.

Ну значит так и есть biggrin.gif
Удалил, мне не сложно.
А насчёт "закрыть" это лучше к ТС писать

Цитата(adnega @ Mar 13 2016, 17:14) *
Значит менеджеры памяти в некоторых задачах нужны.

Может СИшникам и нужны, мне точно не нужны.
Для меня это просто часть алгоритма и как его обозвать не имеет значения.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Mar 14 2016, 04:48
Сообщение #74


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Создать глобальное объединение (union) из массивов всех нужных типов, максимально необходимого размера, и пользоваться им по мере необходимости вместо кучи. Годится?
Хочу понять, как куча может помочь сэкономить память? Если требуется хранить глобальные переменные, но никуда не денешься, придется выделить для них память сразу и навсегда. Если локальные, так они где создаются - в стеке или в куче? Кто (что) решает?

P.S. Или приведением указателя к нужному типу пользоваться массивом целых и в хвост и гриву.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 14 2016, 08:24
Сообщение #75


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(ViKo @ Mar 14 2016, 10:48) *
Создать глобальное объединение (union) из массивов всех нужных типов, максимально необходимого размера, и пользоваться им по мере необходимости вместо кучи. Годится?
Хочу понять, как куча может помочь сэкономить память?

Никак. Может привести только к бОльшему расходу памяти.
Куча полезна только если нужно запускать различные задачи, заранее не известные (когда и какую), с заранее неизвестными требованиями к памяти. Но и то - нужна обработка случая нехватки памяти. Да и дефрагментация периодическая или после завершения каждой задачи. Это случай Linux-а и подобных ему систем.

Обычно для ембеддед достаточно:
union MemShare {
struct MemMode1 {
int member1, member2;
...
} memMode1;
struct MemMode2 {
int member1, member2;
...
} memMode2;
...
} memShare;
где Mode1, Mode2, ... - состояния работы устройства с неперекрывающимися структурами данных; которые в свою очередь могут быть union и делиться дальше.
Go to the top of the page
 
+Quote Post

6 страниц V  « < 3 4 5 6 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 10:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.0149 секунд с 7
ELECTRONIX ©2004-2016