Re[6]: Важны ли мелочи в ЯП?
От: Sharov Россия  
Дата: 07.01.25 13:46
Оценка:
Здравствуйте, vdimas, Вы писали:

S>>А почему тело Invoke на лету генерируется?

V>Потому что тело Invoke может быть уникальным для различных экземпляров делегатов одного и того же типа.

V>Причём, даже если тело Invoke было ранее создано для конкретного SomeObj.SomeMethod, всё равно каждый раз с 0-ля генерится Invoke конкретно для типа SomeObj и его метода SomeMethod.
V>Т.е., с каждым экземпляром делегата растёт и память, занимаемая областью кода.
V>И финализация делегатов от этого тоже чуть дороже, потому что надо убирать память из сегментов кода, а там с перемещениями и уплотнениями не так всё радужно, как в сегментах данных.


А про это можно где-то почитать, потому что звучит крайне странно? Ладно, в первый раз надо скомплировать il код, но
далее он же кэширутся как для SomeObj.SomeMethod так и для других делегатов. А в новый версиях C# (>= 3.0) это
как-то исправлялось?
Кодом людям нужно помогать!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.