Модераторы: gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Производительность LINQ??? 
:(
    Опции темы
Wizard_Memfis
Дата 19.5.2008, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 12.2.2007
Где: г. Донецк, Украин а

Репутация: нет
Всего: 4



Потихоньку начинаю ковырять LINQ, но возникают очень скептичные мысли по этому поводу. Насколько сильно это все тормозит??? smile Может у кого-то есть какие-то статьи, может кто-то сам тестил?Очень уж интересно, да и не верится что-то, что все так хорошо: как говорится, если где-то нашли, то в чем-то потеряли! smile 
Чтоб не получилось как с nHibernate: у меня знакомые на серьезной конторе отказались, сказав, что сильно все тормозит при большой базе!!!
 smile 
P. S. Прикольный ресурс накопал(все доступно и протсо)
http://blogs.gotdotnet.ru/personal/eisernw...a9-2871726a2d45

--------------------
www.binary-studio.com
PM MAIL WWW ICQ Skype   Вверх
namespace
Дата 19.5.2008, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 4.7.2006

Репутация: нет
Всего: нет



ну почему все гладко ?
вот меня мучает вопрос почему нельзя делать запрос на две базы
http://forum.vingrad.ru/forum/topic-211604.html
т.е. если бы я использовал ADO, sql server выдал бы мне сразу результат, а тут я вынужден сделать подзапросы их результаты к примеру .ToList() а потом только два полученных IEnumerable можно использовать в нужном запросе и сразу возникает вопрос а если два подзапроса имеют большой объём данных, это же надо все получить загрузить в память  smile  в случае с ADO этим занят SQL Server и возращает только результат
вообщем как то странно

Это сообщение отредактировал(а) namespace - 19.5.2008, 22:48
PM MAIL   Вверх
Wizard_Memfis
Дата 20.5.2008, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 12.2.2007
Где: г. Донецк, Украин а

Репутация: нет
Всего: 4



Протсо если это все работает в разы тормознутее, то...это все конечно красиво, но думаю что не нужно! smile 
--------------------
www.binary-studio.com
PM MAIL WWW ICQ Skype   Вверх
source777
Дата 20.5.2008, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: нет
Всего: 56



Wizard_Memfis, если тебя интересует Linq to SQL, то для SQL Server он работает даже быстрее, чем ADO.NET за счёт предварительной оптимизации запросов...

Добавлено через 10 минут и 8 секунд
Ну и ссылки:
http://dotnet.org.za/hiltong/archive/2008/...iderations.aspx
http://www.sidarok.com/web/blog/content/20...erformance.html


Цитата(Wizard_Memfis @  19.5.2008,  13:42 Найти цитируемый пост)
Чтоб не получилось как с nHibernate: у меня знакомые на серьезной конторе отказались, сказав, что сильно все тормозит при большой базе!!!
Скорее всего твои знакомые не осилили nHibernate, не сумели, так сказать, правильно им воспользоваться...



--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Wizard_Memfis
Дата 20.5.2008, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 12.2.2007
Где: г. Донецк, Украин а

Репутация: нет
Всего: 4



To source777:
Спасибо за ссылки, именно это искал!
 smile 
P. S. А насчет друзей, может быть smile 


--------------------
www.binary-studio.com
PM MAIL WWW ICQ Skype   Вверх
HalkaR
Дата 20.5.2008, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: нет
Всего: 42



LinqToObjects работает довольно быстро (вобщем сравнимо со скоростью обычного перебора). Есть только 3 исключения. Это методы OrderBy, GrouypBy и Join. Они все заставляют немедленно выбрать весь список, а не обрабатывать его поэлементно.
PM MAIL   Вверх
Wizard_Memfis
Дата 20.5.2008, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 12.2.2007
Где: г. Донецк, Украин а

Репутация: нет
Всего: 4



А LinqToSQL?Есть по нем какая-то инфа?Может при большой базе лучше обычным способом? 
--------------------
www.binary-studio.com
PM MAIL WWW ICQ Skype   Вверх
source777
Дата 20.5.2008, 17:55 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: нет
Всего: 56



Цитата(Wizard_Memfis @  20.5.2008,  17:26 Найти цитируемый пост)
А LinqToSQL?Есть по нем какая-то инфа?Может при большой базе лучше обычным способом?  
Ты слышал про такую вещь как закон дырявых абстракций? Так вот этот закон утверждает, что если пользователь абстракции не понимает как она устроена, то он с большой вероятностью рано или поздно попадёт в дыру этой абстракции... Что приведёт к экспотенциальному снижению всех показателей. 
Следствие из этого закона такое: если у тебя руки кривые, а изучать ты ничего не хочешь, то тебя никакие абстракции не спасут. В обратной ситуации ты можешь использовать любую абстракцию для повышения совокупной производительности... И чем масштабнее будет задача(или больше БД), тем больший выигрыш в производительности можно будет получить...



--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Wizard_Memfis
Дата 21.5.2008, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 12.2.2007
Где: г. Донецк, Украин а

Репутация: нет
Всего: 4



Насколько я помню, есть всем известная вешь:
Ниодин уровень абстракции не добавляет производительность! smile 
--------------------
www.binary-studio.com
PM MAIL WWW ICQ Skype   Вверх
source777
Дата 21.5.2008, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: нет
Всего: 56



Цитата(Wizard_Memfis @  21.5.2008,  13:02 Найти цитируемый пост)
Насколько я помню, есть всем известная вешь:
Ниодин уровень абстракции не добавляет производительность! smile  
Такое утверждение разве что мифом можно назвать...  Если бы оно было истинным, то все до сих пор бы перфокарты пробивали, а не писали бы на языках высокого уровня...



--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
zloyden
Дата 21.5.2008, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 21.5.2008

Репутация: нет
Всего: нет



Цитата(source777 @ 21.5.2008,  14:16)
Такое утверждение разве что мифом можно назвать...  Если бы оно было истинным, то все до сих пор бы перфокарты пробивали, а не писали бы на языках высокого уровня...

Т.е. вы хотите сказать что программа написанная на Яве будет быстрее программы написанной на С++? Можно пример реально работающей программы? Просьба действительно работающее приложение, а не синтетический тест. Я верю что за счет динамической компиляции можно получить большую оптимизацию каких-то алгоритмов. Хотелось бы увидеть оконное приложение, которое бы потребляло меньше ресурсов и быстрее (субъективно для пользователя) программы на дельфи или С++.

Появление языков высокого уровня было обусловлено не ускорением работы софта, написанного на нем, а ускорением и упрощением времени разработки. Или вы будете утверждать что с тех пор производительность компьютеров не улучшилась?

Пользователи железом за упрощение работы программистов(т.е. нас с вами). Увеличение абстракции не дает скорости производительности(чаще всего наоборот), но дает скорость разработки, что позволяет разрабатывать более сложные вещи в разумные сроки.

P. S. вы случаем на яве не программировали?

P.P.S. Пользовался недолго клиентом Sparc, написанном на очень абстрактной яве. Какое увеличение производительности я получил? Зато я получил потребление памяти на уровне 100 мб. Для сравнения квип, написаный на куда менее абстрактном дельфи сейчас заниает 17 мегабайт оперативной памяти.

Это сообщение отредактировал(а) zloyden - 21.5.2008, 14:52
PM MAIL   Вверх
PashaPash
Дата 24.5.2008, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 4
Всего: 49



Непонятно почему вообще появилось предположение что LINQ to SQL медленнее чем ADO.NET. На самом деле он быстрее, даже на простых запросах. Возьмите и померяйте.
http://blog.microsoft-j.net/2008/04/16/Lin...impleQuery.aspx


--------------------
PM MAIL WWW   Вверх
Veitmen
Дата 24.5.2008, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 288
Регистрация: 10.11.2006
Где: СПБ

Репутация: нет
Всего: 4



Цитата(PashaPash @  24.5.2008,  14:18 Найти цитируемый пост)
Непонятно почему вообще появилось предположение что LINQ to SQL медленнее чем ADO.NET. На самом деле он быстрее, даже на простых запросах. Возьмите и померяйте.


Да я вообще то не говорил про Linq to sql. Я про linq говорил в целом. А с Ado сравнивать толку нет. Работа идет по другому.Надо сравнивать с другими ORM технологиями. Для пример NHibernate. Но Linq MS продукт, так что...
PM MAIL ICQ   Вверх
PashaPash
Дата 24.5.2008, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 4
Всего: 49



Veitmen, какой смысл говорить о производительности LINQ в целом? Затраты на операции над запросами в LINQ в на пару порядков меньше чем задержки сети и выборки данных. NHibernate если и выиграет у LINQ to NHibernate пару миллисекунд, то пользователь этого не заметит. А LINQ to SQL, судя по гуглу, работает с той же скоростью, что и NHibernate.


--------------------
PM MAIL WWW   Вверх
Veitmen
Дата 24.5.2008, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 288
Регистрация: 10.11.2006
Где: СПБ

Репутация: нет
Всего: 4



Хы. Читайте все посты. Не то я говорил совсем.
Цитата(PashaPash @  24.5.2008,  17:13 Найти цитируемый пост)
Veitmen, какой смысл говорить о производительности LINQ в целом?


Тема такая. Подразумевается вообще LINQ в вопросе я думаю. 

Цитата(PashaPash @  24.5.2008,  17:13 Найти цитируемый пост)
NHibernate если и выиграет у LINQ to NHibernate пару миллисекунд, то пользователь этого не заметит. А LINQ to SQL, судя по гуглу, работает с той же скоростью, что и NHibernate. 

Хм, дайте ссылку где это написано. Я если честно не знал...
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | LINQ (Language-Integrated Query) | Следующая тема »


 




[ Время генерации скрипта: 0.0978 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.