Size: a a a

2021 December 02

S

SeanWoo in CODE BLOG / C#
Какая разница
источник

P

Phantom in CODE BLOG / C#
Будет хуже
источник

P

Phantom in CODE BLOG / C#
Уверен?
источник

P

Phantom in CODE BLOG / C#
источник

Q1

QWERTY 123 in CODE BLOG / C#
Подозреваю, что ты хочешь это связать с тремя поколениями в GC, но это так не работает и один хер GC спокойно может не освободить память, если не достигнут предел по объему...
В добавок маркировка объектов на удаление происходит в отдельном потоке, и вряд ли что то сильно изменится между этими вызовами, если они идут друг за другом
источник

SB

Sergey Benzenko in CODE BLOG / C#
Ничего. Это только просьба вызвать сборку, не факт, что она вызовется вообще.

А применять можно, когда знаешь, что должно остаться много мусора, и сейчас удачный момент, чтобы его убрать, не дожидаясь нехватки памяти. Но это как кунфу. Настоящие мастера этим без надобности не пользуются)))
источник

P

Phantom in CODE BLOG / C#
Forces an immediate garbage collection of all generations.
источник

P

Phantom in CODE BLOG / C#
Я тоже помнил, что там просьба
источник

D

Dmitriy in CODE BLOG / C#
Что ты имеешь ввиду под "GC спокойно может не освободить память, если не достигнут предел по объёму..."? Ты знаешь как работает GC?
источник

D

Dmitriy in CODE BLOG / C#
Предел в куче или предел где? Где это прочитать можно
источник

P

Phantom in CODE BLOG / C#
В этом случае ты форсируешь его
источник

P

Phantom in CODE BLOG / C#
То есть, заставляешь здесь и сейчас это сделать
источник

P

Phantom in CODE BLOG / C#
Разве что, объекты с финализаторами могут не собратся, а поместится в очередь для вызова финализатора
источник

P

Phantom in CODE BLOG / C#
Но там можно подождать
источник

Q1

QWERTY 123 in CODE BLOG / C#
Рихтер, у каждого поколения есть лимиты, ими так же рулит gc, меняются динамически...
источник

Q1

QWERTY 123 in CODE BLOG / C#
Ок, приму к сведенью, но всегда был уверен, что это просто принудительный вызов стандартной процедуры сборки мусора, просто именно сейчас
источник

Q1

QWERTY 123 in CODE BLOG / C#
Мои слова в том сообщении применимы только для автоматической работы gc, при принудительном вызове все таки он бежит по всем поколениям и освобождает все что сможет, если в параметрах вызова нет дом параметров...
источник

SB

Sergey Benzenko in CODE BLOG / C#
Интересно, откуда у нас это отложилось)
источник

P

Phantom in CODE BLOG / C#
Я думаю из за финализаторов
источник

P

Phantom in CODE BLOG / C#
Так оно и есть
источник