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

 
 
6 страниц V  « < 2 3 4 5 6 >  
Reply to this topicStart new topic
> Экономия RAM.
adnega
сообщение Mar 10 2016, 06:29
Сообщение #46


Гуру
******

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



Цитата(zombi @ Mar 10 2016, 02:14) *
Ну так рассказали бы дикарям

А дикари научись различать "виртуальную память" и "кучу"?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 10 2016, 07:21
Сообщение #47


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (adnega @ Mar 10 2016, 08:29) *
А дикари научись различать "виртуальную память" и "кучу"?

Увы, нет sad.gif, только "научились" слова, смысла которых не понимают, из "интеренету" в изобилии таскать.



QUOTE (zombi @ Mar 10 2016, 01:14) *
А не морочили людям голову!

Пытаетесь морочить голову именно Вы. Тема называется "Экономия RAM" а не извлечение ее из эфира. Один их эффективых путей экономии это многократное и повторное использование ресурсов. Для этого можно использовать менеджеры памяти, или в чистом виде, или узкспециализированые решения постороенные на том же принципе динамического выделения памяти.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 10 2016, 07:32
Сообщение #48


Гуру
******

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



Цитата(zltigo @ Mar 10 2016, 10:21) *
Один их эффективых путей экономии это многократное и повторное использование ресурсов. Для этого можно использовать менеджеры памяти, или в чистом виде, или узкспециализированые решения постороенные на том же принципе динамического выделения памяти.

Лет 10 назад я разрабатывал устройство на AVR + asm.
ОЗУ в наличии было мало, и для работы со статическим распределением всем бы не хватило.
Сделал так: выделил большой кусок, в котором хранил таблицу при штатной работе.
А в режиме обновления ПО, когда штатная работа прекращалась и таблицы были не нужны - использовал
этот кусок для буфера связи с внешним миром и обновления ПО.
Все работало, но про параллельное использование памяти нужно было помнить.
На C с динамической памятью все куда прозрачнее, хотя смысл тот же - разделяемый по времени ресурс в виде ОЗУ.
Go to the top of the page
 
+Quote Post
HardEgor
сообщение Mar 10 2016, 07:46
Сообщение #49


Гуру
******

Группа: Свой
Сообщений: 2 223
Регистрация: 3-03-06
Из: Tomsk
Пользователь №: 14 925



Цитата(Jenya7 @ Mar 8 2016, 23:15) *
такой вот он мап-файл.

Неудачная загрузка. Вам запрещено загружать такой тип файлов

И что дальше?
Либо вы не тот файл пытаетесь выложить, либо просто переименуйте .map файл в .txt и выкладывайте.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 10 2016, 07:46
Сообщение #50


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (adnega @ Mar 10 2016, 09:32) *
Лет 10 назад...

Буквально две недели назад занимался рефакторингом софта двух давноооо выпускаемых железок одна на PIC, другая на M8C c целью свести по максимуму все функционально различающиеся варианты исполнения в единые фирмвари, дабы по минимуму отвлекаться на дальнейшее сопровождение. Вот уж я тут памяти поискал и (в основном) порасшаривал по полной программе sm.gif до расплавления мозга sad.gif. Но упаковался и еще осталость чуток.



--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 10 2016, 07:58
Сообщение #51


Гуру
******

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



Цитата(zltigo @ Mar 10 2016, 10:46) *
Но упаковался и еще осталость чуток.

Видимо, для эффективной экономии ОЗУ нужно не только знать размеры переменных, но и знать архитектуру своего ПО.
Хотя сейчас напрягаться не принято и проще поставить внешнюю SDRAM и/или выбрать МК с большим количеством набортного ОЗУ.
В приложениях с таким функционалом, что приходится использовать TCP/IP, обсуждение размера переменной (1 или 4 байта)
вызывает у меня определенные подозрения (что что-то не так).
Go to the top of the page
 
+Quote Post
zombi
сообщение Mar 10 2016, 08:01
Сообщение #52


Гуру
******

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



Цитата(zltigo @ Mar 10 2016, 11:21) *
Один их эффективых путей экономии это многократное и повторное использование ресурсов.

Америку открыли biggrin.gif
Главное обеспечить невозможность одновременного выполнения процессов использующих эту общую область.
Цитата(zltigo @ Mar 10 2016, 11:21) *
Для этого можно использовать менеджеры памяти

И если такой возможности нет то и никакой мыныджер не поможет.
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 10 2016, 08:19
Сообщение #53


Гуру
******

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



Цитата(zombi @ Mar 10 2016, 11:01) *
Америку открыли biggrin.gif
Главное обеспечить невозможность одновременного выполнения процессов использующих эту общую область.

Вроде, все не так.
Никакой блокировки процессов нет. Процесс просит память, менеджер может выделить память или отказать в выделении.
С выделенной памятью процесс может делать все что угодно, и другие процессы тут вообще никакой роли не играют.
Отказ в выделении памяти процессу нужно как-то обработать.
Цитата(zombi @ Mar 10 2016, 11:01) *
И если такой возможности нет то и никакой мыныджер не поможет.

Обсуждается ситуация, когда такая возможность есть.
Может, вам стоит побольше вдумчивее читать и поменьше язвительно писать?
Go to the top of the page
 
+Quote Post
zombi
сообщение Mar 10 2016, 09:15
Сообщение #54


Гуру
******

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



Цитата(adnega @ Mar 10 2016, 11:19) *
Обсуждается ситуация, когда такая возможность есть.

Это Вы сами так решили или подсказал кто?
Цитата(adnega @ Mar 10 2016, 11:19) *
Может, вам стоит побольше вдумчивее читать и поменьше язвительно писать?

Может.
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 10 2016, 09:19
Сообщение #55


Гуру
******

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



Цитата(zombi @ Mar 10 2016, 12:15) *
Это Вы сами так решили или подсказал кто?

ТС в сообщении 15.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 10 2016, 10:17
Сообщение #56


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (adnega @ Mar 10 2016, 10:19) *
Обсуждается ситуация, когда такая возможность есть.

Навязываемое Вами "обсуждение", откуда взять память, которой нет, абсолютно бессмысленно. Посему речь идет о памяти, котороая есть и которую надо пытаться использовать в разные моменты времени для разных целей. Если такой возможности нет, что практически НЕВЕРОЯТНО, или лениво думать как такое обеспечить, то и разговоров нет. Только Ваш треп ни о чем.



QUOTE (adnega @ Mar 10 2016, 09:58) *
Видимо, для эффективной экономии ОЗУ нужно не только знать размеры переменных, но и знать архитектуру своего ПО.

Для вытягивания последних байтов надо знать уже все sm.gif. Но это уже на самом деле большая редкость. Я вот тоже на в работе о которой писал, тоже уже для M8C контроллера последние байты вытягивал, вытянул, плюнул, переделал принципиально, и стало 64 свободных байта. Ну придет серверу отказ на исполнение одной редкой команды, если звезды не так лягут, ну переспросит.
QUOTE
В приложениях с таким функционалом, что приходится использовать TCP/IP, обсуждение размера переменной (1 или 4 байта)
вызывает у меня определенные подозрения (что что-то не так).

Одиночной переменной - несомненно, но бывают и солидные массивы данных, где уже счет идет на тысячи таких переменных за каждым из тысяч процессов.
При этом слово тысячи не должно особо пугать - на одном из проектов еще на i8085 у меня в свое время было 256 процессов. На первом из опробованных ARM LPC2114 - 1280 процессов. В обоих случаях прикол был в том, что процессы находились в разных состояниях и в статических состояниях обходились достаточно небольшим количеством данных. На переходных режимах процессам добавлялся блок памяти для обслуживания "развития" процесса.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Kabdim
сообщение Mar 10 2016, 11:44
Сообщение #57


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



Цитата(Jenya7 @ Mar 9 2016, 10:27) *
а я могу создать новый объект и положить его по адресу который я указал?

Можно, называется размещающий конструктор. Но подумайте дважды т.к. кол-во потенциальных граблей увеличится в геометрической прогрессии.
Go to the top of the page
 
+Quote Post
zombi
сообщение Mar 10 2016, 21:37
Сообщение #58


Гуру
******

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



Цитата(zltigo @ Mar 10 2016, 14:17) *
Только Ваш треп ни о чем.

Интересно помог ли ТС ваш трёп память освободить?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 10 2016, 21:41
Сообщение #59


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



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

Поживем-увидим. Но то, что я точно знаю, что Вам уже ничего не поможет sad.gif.



--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
zombi
сообщение Mar 10 2016, 22:07
Сообщение #60


Гуру
******

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



Цитата(zltigo @ Mar 11 2016, 01:41) *
Но то, что я точно знаю, что Вам уже ничего не поможет sad.gif.

Я в помощи не нуждаюсь , а уж в помощи такого хвастуна-виртуоза как вы и подавно.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 14:33
Рейтинг@Mail.ru


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