Прочитав исходный код Roslyn на GitHub, я заметил, что используется ObjectPool<T>
. класс. Он используется для уменьшения издержек памяти.
Внутри он использует массив для хранения объединенных объектов.
Я не понимаю, почему он использует частную структуру с именем Element
, содержащую одно поле типа T
как элемент массива, вместо того, чтобы просто использовать T
.
Разве это не касается производительности? Накладные расходы памяти?