Сообщение Re: Интервью .NET и сборщик мусора от 28.11.2020 8:43
Изменено 28.11.2020 8:50 Serginio1
Re: Интервью .NET и сборщик мусора
Здравствуйте, Glas, Вы писали:
The updated GetGCMemoryInfo API in .NET 5.0 and how it can help you
Суть не столько вмешиваться, сколько понимать какого влияние сборки мусора на ваш код и влияние вашего кода на сборку мусора.
Для примера Task и ValueTask. Не нужно использовать классы, там где проще обойтись структурой.
Яркий пример Падение производительности при повторной сортировке массива объектов
Суть была в том, что элементы старших поколений в том алгоритме сборки мусора считались неизменяемыми (не учавствуют в сборке мусора ) и при изменении ссылок на объекты велся отдельный подсчет (изменения в их ссылках нужно регистрировать.).
Со временем алгоритмы меняются
Сейчас для уменьшения копирования используют Span<T> и Memory<T>
Народ эксперименты ставил на выделение памяти объектов на стеке A new stackalloc operator for reference types with CoreCLR and Roslyn
Большинство изменений в .Net идет к уменьшению копирования и преобразований. Кроме Span<T> появились ref struct, ReadOnlySpan, Utf8JsonReader итд
The updated GetGCMemoryInfo API in .NET 5.0 and how it can help you
Суть не столько вмешиваться, сколько понимать какого влияние сборки мусора на ваш код и влияние вашего кода на сборку мусора.
Для примера Task и ValueTask. Не нужно использовать классы, там где проще обойтись структурой.
Яркий пример Падение производительности при повторной сортировке массива объектов
Автор: Serginio1
Дата: 20.10.03
Дата: 20.10.03
Суть была в том, что элементы старших поколений в том алгоритме сборки мусора считались неизменяемыми (не учавствуют в сборке мусора ) и при изменении ссылок на объекты велся отдельный подсчет (изменения в их ссылках нужно регистрировать.).
Со временем алгоритмы меняются
Сейчас для уменьшения копирования используют Span<T> и Memory<T>
Народ эксперименты ставил на выделение памяти объектов на стеке A new stackalloc operator for reference types with CoreCLR and Roslyn
Большинство изменений в .Net идет к уменьшению копирования и преобразований. Кроме Span<T> появились ref struct, ReadOnlySpan, Utf8JsonReader итд
Re: Интервью .NET и сборщик мусора
Здравствуйте, Glas, Вы писали:
The updated GetGCMemoryInfo API in .NET 5.0 and how it can help you
Суть не столько вмешиваться, сколько понимать какого влияние сборки мусора на ваш код и влияние вашего кода на сборку мусора.
Для примера Task и ValueTask. Не нужно использовать классы, там где проще обойтись структурой.
Яркий пример Падение производительности при повторной сортировке массива объектов
Суть была в том, что элементы старших поколений в том алгоритме сборки мусора считались неизменяемыми (не учавствуют в сборке мусора ) и при изменении ссылок на объекты велся отдельный подсчет (изменения в их ссылках нужно регистрировать.).
Со временем алгоритмы меняются
Сейчас для уменьшения копирования используют Span<T> и Memory<T>
Народ эксперименты ставил на выделение памяти объектов на стеке A new stackalloc operator for reference types with CoreCLR and Roslyn
Большинство изменений в .Net идет к уменьшению копирования и преобразований. Благодаря ref struct появились не только Span<T> , но и ReadOnlySpan, Utf8JsonReader итд
The updated GetGCMemoryInfo API in .NET 5.0 and how it can help you
Суть не столько вмешиваться, сколько понимать какого влияние сборки мусора на ваш код и влияние вашего кода на сборку мусора.
Для примера Task и ValueTask. Не нужно использовать классы, там где проще обойтись структурой.
Яркий пример Падение производительности при повторной сортировке массива объектов
Автор: Serginio1
Дата: 20.10.03
Дата: 20.10.03
Суть была в том, что элементы старших поколений в том алгоритме сборки мусора считались неизменяемыми (не учавствуют в сборке мусора ) и при изменении ссылок на объекты велся отдельный подсчет (изменения в их ссылках нужно регистрировать.).
Со временем алгоритмы меняются
Сейчас для уменьшения копирования используют Span<T> и Memory<T>
Народ эксперименты ставил на выделение памяти объектов на стеке A new stackalloc operator for reference types with CoreCLR and Roslyn
Большинство изменений в .Net идет к уменьшению копирования и преобразований. Благодаря ref struct появились не только Span<T> , но и ReadOnlySpan, Utf8JsonReader итд