Сообщение Деревья выражений против шаблонов от 22.01.2017 6:18
Изменено 22.01.2017 6:29 Serginio1
Re[59]: «Собаку съел»
Здравствуйте, samius, Вы писали:
На самом деле Linq это в том числе и деревья выражений Динамические Linq-запросы или приручаем деревья выражений
Которые могут компилироваться в рантайме. А могут и на этапе компиляции.
Для SQL это кодогенерация, а для Enumerable это компиляция обхода коллекции
Если использовать вместо
Вместо Func<t,bool>>
Expression<Func<t,bool>>
то все прекрасно будет инлайнится при специализации.
Класс Expression<TDelegate>
На самом деле Linq это в том числе и деревья выражений Динамические Linq-запросы или приручаем деревья выражений
Которые могут компилироваться в рантайме. А могут и на этапе компиляции.
Для SQL это кодогенерация, а для Enumerable это компиляция обхода коллекции
Если использовать вместо
Вместо Func<t,bool>>
Expression<Func<t,bool>>
то все прекрасно будет инлайнится при специализации.
Класс Expression<TDelegate>
Re[59]: «Собаку съел»
Здравствуйте, samius, Вы писали:
На самом деле Linq это в том числе и деревья выражений Динамические Linq-запросы или приручаем деревья выражений
Динамическое построение Linq запроса
Которые могут компилироваться в рантайме. А могут и на этапе компиляции.
Для SQL это кодогенерация, а для Enumerable это компиляция обхода коллекции
Если использовать вместо
Вместо Func<t,bool>>
Expression<Func<t,bool>>
то все прекрасно будет инлайнится при специализации.
Класс Expression<TDelegate>
На самом деле Linq это в том числе и деревья выражений Динамические Linq-запросы или приручаем деревья выражений
Динамическое построение Linq запроса
Которые могут компилироваться в рантайме. А могут и на этапе компиляции.
Для SQL это кодогенерация, а для Enumerable это компиляция обхода коллекции
Если использовать вместо
Вместо Func<t,bool>>
Expression<Func<t,bool>>
то все прекрасно будет инлайнится при специализации.
Класс Expression<TDelegate>