Re[12]: Тормознутость и кривость linq
От: alex_public  
Дата: 19.03.16 15:58
Оценка: -3
Здравствуйте, Ikemefula, Вы писали:

I>То есть, компилировать на все случаи жизни.


А ты думаешь твой ORM в .net по другому устроен? ))) Всё тоже самое. )

_>>Т.е. примеры реализации ты конечно же привести не можешь, потому что "это не нужно", да? ))) Понятно, понятно... )))

I>А зачем ? Пудозреваю, здесь одно из двух
I>1 ты намекаешь, что принципиально невозможно сгенерировать SQL на C#
I>2 не знаешь, что T4 это обычный C# код вызываемый еще до компиляции. В принципе, нет разницы, до компиляции, или во время неё.

Я в курсе, что t4 — это препроцессор в C#. И кстати говоря, меня бы вполне устроило решение на нём, если бы оно могло чётко проверять sql синтаксис и генерировать оптимальные sql строки. Только вот я что-то сомневаюсь, что такое просто написать. И думаю, что готовых реализаций просто нет.

_>>Кстати, с учётом новинок в C++, думаю что мы скоро вернёмся к нормальному текстовому заданию sql строк. В стиле db("select name from users where id={id}").

I>Это незачем. Когда понадобится сменить движок базы, ты вспотеешь приседать. Лучше expression tree или полноценное квазицитирование, нежели вот такие приседания.

Ты видимо тоже невнимательно читаешь. )))

>>Только вот при этом в процессе компиляции будет происходить полный разбор этой строки, проверка корректности синтаксиса, преобразование переменных и т.п. ))) Это будет уже действительно максимально удобный вариант, получше и существующих библиотек и всяких linq. )))

I>А кто тебе типы будет подсказывать ?

Нуу это вообще смешной вопрос. ))) Если уж printf типизированный давно существует в современном C++, то тут уже понятно всё. )

_>>Ну и где там про "разницу в скорости между рефлексией и склейкой голых строк"? Если что, при работе linq2sql происходит и рефлексия и склейка строк и ещё куча всего. Так что говорить про разницу между рефлексий и склейкой строк вообще неадекватно, чего я собственно и не делал. ) Рефлексия (и ещё много чего) в случае linq2sql служит чистым оверхедом. )

I>"медленнее склейки голых sql строк в силу лишних накладных расходов на тормозную рефлексию"
I>То есть, указывается, что склейка голых строк это хорошо, а тормозная рефлексия и является узким местом, следовательно — разница между рефлексией и склейкой голых строк.

ОК, будем считать, что ты плохо понял мою фразу. ) Очевидно, что время работы рефлексии никто не сравнивает со временем склейки голых строк. Её сравнивают с нулём, т.е. всё её время — это чистый оверхед.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.