powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Есть ли разница в памяти dim obj as object VS dim obj as new object??
21 сообщений из 21, страница 1 из 1
Есть ли разница в памяти dim obj as object VS dim obj as new object??
    #38098789
Alexander_fx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
собственно сабж

class temp
public lst as list of object


class temp2
public lst as new list of object



есть ли разница в расходе памяти ?
...
Рейтинг: 0 / 0
Есть ли разница в памяти dim obj as object VS dim obj as new object??
    #38098801
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Если я правильно понял, это будет на шарпе

Код: c#
1.
List<object> lst;



и

Код: c#
1.
List<object> lst = new List<object>();



В "куче" память выделятся не будет. Хотя... Фиг знает. Микрософт любит по умолчанию выделять память на 10 элементов.

В отличии от

Код: c#
1.
List<object> lst = new List<object>(100);



Когда будет зарезервирована память для 100 объектов.



Alexander_fx,
А есть причина на спичках экономить?
...
Рейтинг: 0 / 0
Есть ли разница в памяти dim obj as object VS dim obj as new object??
    #38098817
Alexander_fx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,

да приложение изредка достигает лимита по памяти для 32 бит

да и вообще изучаю матчасть
...
Рейтинг: 0 / 0
Есть ли разница в памяти dim obj as object VS dim obj as new object??
    #38098819
Alexander_fx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и если сразу создавать лист то не надо дальше по коду isnull лепить
вот и думаю как дорого это удобство стоит
по идее ничего не стоит - а как на самом деле хз
...
Рейтинг: 0 / 0
Есть ли разница в памяти dim obj as object VS dim obj as new object??
    #38098904
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Alexander_fxну и если сразу создавать лист то не надо дальше по коду isnull лепить
Лучше сразу создавать и проверять количество ( Count )
...
Рейтинг: 0 / 0
Есть ли разница в памяти dim obj as object VS dim obj as new object??
    #38098907
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Alexander_fxда приложение изредка достигает лимита по памяти для 32 бит
Лист, вроде до UINT может расти.
...
Рейтинг: 0 / 0
Есть ли разница в памяти dim obj as object VS dim obj as new object??
    #38098911
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander_fxну и если сразу создавать лист то не надо дальше по коду isnull лепить
вот и думаю как дорого это удобство стоит
по идее ничего не стоит - а как на самом деле хз \
забейте, используйте new.
...
Рейтинг: 0 / 0
Есть ли разница в памяти dim obj as object VS dim obj as new object??
    #38098932
Пьяный Лох
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Если я правильно понял
Нихера ты неправильно понял.
Нихера не понял, но решил ответить.
В следующий раз, когда решишь отвечать, хотя бы RTFM для приличия почитай.
А то ведь форум дети читают.
...
Рейтинг: 0 / 0
Есть ли разница в памяти dim obj as object VS dim obj as new object??
    #38098933
Пьяный Лох
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander_fxесть ли разница в расходе памяти ?
В расходе памяти разницы нет.
В быстродействии - есть.
Мизерерная, но есть.
...
Рейтинг: 0 / 0
Есть ли разница в памяти dim obj as object VS dim obj as new object??
    #38098960
Alexander_fx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пьяный Лох,

спасибо
с новым годом
...
Рейтинг: 0 / 0
Есть ли разница в памяти dim obj as object VS dim obj as new object??
    #38099124
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Alexander_fxПьяный Лох,

спасибо
с новым годом
Вот. Я написал, что по расходу памяти разницы нет, а "Спасибо" Пьяному Лоху
...
Рейтинг: 0 / 0
Есть ли разница в памяти dim obj as object VS dim obj as new object??
    #38099288
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Вот. Я написал, что по расходу памяти разницы нет, а "Спасибо" Пьяному Лоху
Потому что ты заблуждаешься, а Пьяный Лох прав.

Alexander_fxclass temp
public lst as list of object

class temp2
public lst as new list of object

есть ли разница в расходе памяти ?
Есть. В первом случае объявляется поле имеющее значение Nothing (null в C#), во втором аналогичное поле сразу инициализируется. Т.к. List<object> является ссылочным типом, то в управляемой куче выделяется под него память. В x86 расходы составят 52 байта = 12 байтов экземпляр класса + 24 байта под list<object> + 16 байтов под object[]. Однако экономить есть смысл только если твой список нужен не всегда. Если он требуется в любом случае, то выигрыша никакого не будет и оба варианта эквивалентны с точки зрения потребления управляемой кучи. При этом не рассматриваем накладные расходы необходимые на проверки было ли уже инициализировано поле.

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

P.S. Почему ты используешь list of object?
...
Рейтинг: 0 / 0
Есть ли разница в памяти dim obj as object VS dim obj as new object??
    #38099356
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
bazileПотому что ты заблуждаешься, а Пьяный Лох прав.
Прав в том, что написал

Пьяный ЛохВ расходе памяти разницы нет.

?
...
Рейтинг: 0 / 0
Есть ли разница в памяти dim obj as object VS dim obj as new object??
    #38099393
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2, почему-то проглядел этот его ответ. Тогда вы оба неправы, если только не имели в виду что не будет разницы в итоге т.к. поле все равно будет инициализировано в другом месте.
...
Рейтинг: 0 / 0
Есть ли разница в памяти dim obj as object VS dim obj as new object??
    #38099394
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зачем он пишет "of object" без скобок? там же в синтаксисе даже указано?

в первом случаи ты не вызвал конструктор класса и не создал объект, то есть в памяти нет объекта List, это только указатель, который вернет null
...
Рейтинг: 0 / 0
Есть ли разница в памяти dim obj as object VS dim obj as new object??
    #38099558
Alexander_fx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot bazile]Cat2P.S. Почему ты используешь list of object?

не использую
не вводить же в пример третий класс
а так суть одна- ссылочный тип

обьектов очень много - десятки миллионов и бывает что лист пустой - но обращений к листу довольно много и вот и задумался - есть ли смысл везде проверять на null или проще инициализировать при создании а не при добавлении.
...
Рейтинг: 0 / 0
Есть ли разница в памяти dim obj as object VS dim obj as new object??
    #38099594
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander_fxобьектов очень много - десятки миллионов и бывает что лист пустой - но обращений к листу довольно много и вот и задумался - есть ли смысл везде проверять на null или проще инициализировать при создании а не при добавлении.
Выигрыш будет небольшой по сравнению с объемом хранимых данных. Врядли отсюда нужно начинать оптимизацию кол-ва используемой памяти.
...
Рейтинг: 0 / 0
Есть ли разница в памяти dim obj as object VS dim obj as new object??
    #38099596
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander_fxобьектов очень много - десятки миллионов и бывает что лист пустой - но обращений к листу довольно много и вот и задумался - есть ли смысл везде проверять на null или проще инициализировать при создании а не при добавлении.
конечно проще, не в этом месте оптимизация нужна.

Десятки миллионов объектов - в одном списке?
...
Рейтинг: 0 / 0
Есть ли разница в памяти dim obj as object VS dim obj as new object??
    #38100579
Alexander_fx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет
миллионы обьектов со списком внутри
в списке четверть нет обьектов - и три четверти с обьектами - примерно 3-10 штук
...
Рейтинг: 0 / 0
Есть ли разница в памяти dim obj as object VS dim obj as new object??
    #38100588
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander_fx,
авторМиллионы
Мне Нам осталась одна забава: Пальцы в рот и веселый свист(с)
...
Рейтинг: 0 / 0
Есть ли разница в памяти dim obj as object VS dim obj as new object??
    #38100603
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander_fx, запусти программу под профилировщиком и посмотри куда больше всего памяти уходит. Профилировшик встроен в VS. Смотри команду Analyze -> Launch Perfomance Wizard.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Есть ли разница в памяти dim obj as object VS dim obj as new object??
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]