Re[7]: default(TMonoid)
От: rameel https://github.com/rsdn/CodeJam
Дата: 09.06.20 14:05
Оценка: 8 (2)
Здравствуйте, Qbit86, Вы писали:

Q>Интуитивно кажется, что это не так, и «default(TMonoid)» должен быть эффективнее, чем «new TMonoid()» для создания экземпляров value-типов вроде decimal в generic-коде. Хотя бы из-за Activator.CreateInstance().

Q>Но точно не знаю, так что побенчмаркал. В .NET Core < 3.0 действительно new TMonoid() заметно медленнее. Но в .NET Core 3.0+ уже разницы нет. Activator.CreateInstance() по-прежнему есть в IL, но, видимо, JIT как-то лучше оптимизирует.

Да, джит устраняет Activator.CreateInstance<T>() если T — это value type Github: Optimize Activator.CreateInstance
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.