Относительно: Big-O of .GetProperties ()
Сколько наносекунд занимает метод .GetProperties()
в C #?
EDIT
Протестировано:
На простом компьютере разработчика (ничего особенного) элемент имеет 8 свойств и не наследуется:
stopwatch.Start();
for (int i = 0; i < 10000; i++)
{
PropertyInfo[] properties = item.GetType().GetProperties();
}
stopwatch.Stop();
Результаты:
Общее время в наносекундах: 16 569,8
Общее время в миллисекундах: 16.5698
Среднее время на .GetProperties () Вызов: 1,65 нс (это предположение, не уверен, что результаты кэшируются)
Более того
При повторном запуске с дополнительным вложенным циклом foreach это заняло всего 6 миллисекунд. Вот добавленный код (внутри цикла for):
foreach (var prop in properties)
{
var x = prop;
}