Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
 Аватар для RaevskiAnatoly
34 / 35 / 12
Регистрация: 04.03.2017
Сообщений: 444

Рациональное использование памяти, сборщик мусора

03.11.2018, 13:46. Показов 2429. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача определить такую структуру данных:
Entity - Мешок для компонентов. Есть массив фиксированных компонентов. Это означает, что эти компоненты большую часть времени живут в сущности, но все-таки могут быть заменены или удалены. То есть нам выделять память для больше N элементов никогда не придется. Есть пузырьковые компоненты. Для них используется динамически расширяемый List<T>. У сущности есть ее идентификатор int.
Я знаю, что настоящая работа, которую совершает сборщик - составление графа живых объектов.
Если бы я объявил все вышесказанное в Entity - классе, то тогда я так понимаю дерево было бы куда более сложным, нежели если объявлять все компоненты в одном массиве (+ листе для пузырьковых компонентов), а потом чудо-производительными методами определять принадлежность к определенной Entity. В Entity в свою очередь будут свойства-функции, которые по факту будут обращаться к EntityManagerу с просьбой найти соответствующие компоненты. Но по идее в любом случае сборщик должен определить все варианты, и соответственно построить ветви графа и для этих функций. Короче говоря никакой оптимизации от одного большого массива я не вижу. Ето есть так?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.11.2018, 13:46
Ответы с готовыми решениями:

Сборщик мусора
Здравствуйте, есть такая проблема. Идет работа с прибором, который в реальном времени шлет данные, каждые 5мс программа обязана их считать,...

GC Сборщик мусора .NET C#
Проблемам в следующем, прочитал и посмотрел несколько статей и видео. И с технический стороны всё вроде понятно. Управление памяти и т.д....

Библиотека, сборщик мусора
Доброго времени суток, возникла проблема, если вкратце о ней то есть библиотека где происходит авторизация на одном сайте, а также от сайта...

20
 Аватар для RaevskiAnatoly
34 / 35 / 12
Регистрация: 04.03.2017
Сообщений: 444
04.11.2018, 17:29  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от kolorotur Посмотреть сообщение
А как будете тогда реализовывать обращение к элементу по индексу?
В моей задаче первичный индекс - статичный идентификатор (id = index). То есть List<T> не подходит априори т.к. меняет индексы. Я что-то об этом не подумал.)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.11.2018, 17:29

Существует ли в C# сборщик мусора
Подскажите пожалуйста, а когда мы создаем экземпляр формы, его надо потом как то уничтожать при закрытии моего приложения? если да то как...

Сборщик мусора не удаляет объект
Сборщик мусора не удаляет объект. Мне необходимо чтобы GC его удалил, но этого не происходит. Привожу предельно упрощенный код моей...

Загадка про сборщик мусора
Однажды мне в голову пришла такая идея, и решил спросить мнения у опытных людей. Итак, логика сборщика мусора гласит: если в управляемой...

Что происходит с внешними переменными, если объект, создающий новый поток, удалит сборщик мусора
Здравствуйте! Недавно поймал себя на одной мысли. Что происходит с внешними переменными, если объект, создающий новый поток, удалит...

Стоит ли очищать память от класса MySQL или сборщик мусора всё сделает сам
В процессе написания использую /NET Connector и MySQL. Пишу функцию public static void SaveNavigationNode(TreeNode treeNode) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе. Самым главным критерием для меня было создание паролей, в котором отсутствуют знаки: | 1 l I Обработка содержит следующие. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него. https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952 Инструкция внутри. https:/ / youtu. be/ VpfFZSUDGnQ. . .
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru