Re[9]: Несколько соображений по дизайну C#
От: Evgeny.Panasyuk Россия  
Дата: 15.07.16 15:17
Оценка:
Здравствуйте, Sinix, Вы писали:

EP>>Тут речь не про перегрузки и кодогенерацию, а про то что там разное поведение для reference/value type.

S>А это где такое чудо, напомни?

Вот
Автор: Evgeny.Panasyuk
Дата: 23.03.16
— там два момента.

EP>>Тем не менее — как раз наглядный пример что это всё это таки стоит свеч, String ведь не единственный класс подобного рода.

S>ну да. Но тут есть маааленький нюанс: для того, чтоб эта оптимизация имела смысл, пришлось протащить знание о кишках string по всему CLR, от JIT и до профайлера.
S>Ну и для каких других типов такое будет иметь смысл?

Не прям такое, а уменьшение ветвления по памяти в общем.
То есть например есть класс, он агрегирует другие объекты других классов, те в свою очередь аггрегируют далее. Получается дерево. В большинстве случаев размазывать все под-объекты по памяти не требуется, и достаточно "плоского" "inline"-хранения. На C# структуры имеют ряд ограничений, и по факту многие под-объекты будут классами, даже те которые по смыслу могли быть "inline".
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.