S>>LINQ (Language-Integrated Query) представляет простой и удобный язык запросов к источнику данных. В качестве источника данных может выступать объект, реализующий интерфейс IEnumerable (например, стандартные коллекции, массивы), набор данных DataSet, документ XML. Но вне зависимости от типа источника LINQ позволяет применить ко всем один и тот же подход для выборки данных.
V>ИМХО, тут имелось ввиду, что внешне подход один и тот же.
Имелось в виду, что Linq реализует единый подход в любым источникам данных.
А внутри может быть все по разному. Как я уже давал ссылку https://github.com/antiufo/roslyn-linq-rewrite вплоть до компиляции в CIL.
А как это реализовано это другой вопрос. Запрос к БД или сгенерированный запрос в IL не перестал быть линком. Или ты для этого другое название придумаешь?
и солнце б утром не вставало, когда бы не было меня
_>>Linq используется для того, чтобы разделить стратегю исполнения и сам "запрос".
_>>Это полная чушь, т.к. для разделения используется банальный делегат, а linq тут не нужно в принципе. Причём он по сути сам в этом "признаётся" здесь http://rsdn.org/forum/flame.comp/7194415.1:
Совершенно верно. И вот когда на базе этих техник сделают аналог кода Синклера, мы и сможем наконец то оценить эффективность Linq для данных задач. И по времени написания такого кода и по производительности (кстати будет очень весело померить время исполнения для нулевого входного массива — у простого for'a там будет просто 0, у такого кода будет весьма печальное число).
А вот привлекать код Синклера для целей оценки эффективности Linq — это просто смешно, т.к. от Linq там нет ничего. Скорее наоборот, его код демонстрирует как можно красиво абстрагировать подобные алгоритмы без всякого Linq.
S>> Ну вот здесь Optimising LINQhttps://github.com/antiufo/roslyn-linq-rewrite S>>используются не банальные делегаты. Тот же Linq to SQL. Там вообще о делегатах нет речи. Там только деревья выражений.
_>Совершенно верно. И вот когда на базе этих техник сделают аналог кода Синклера, мы и сможем наконец то оценить эффективность Linq для данных задач. И по времени написания такого кода и по производительности (кстати будет очень весело померить время исполнения для нулевого входного массива — у простого for'a там будет просто 0, у такого кода будет весьма печальное число).
Ну по ссылкам Optimising LINQ там есть сравнение.
_>А вот привлекать код Синклера для целей оценки эффективности Linq — это просто смешно, т.к. от Linq там нет ничего. Скорее наоборот, его код демонстрирует как можно красиво абстрагировать подобные алгоритмы без всякого Linq.
Здравствуйте, vdimas, Вы писали:
I>>Может ты покажешь, где же Синклер тебе нахамил ? А то по всему топику только твоё хамство.
V>Ты имеешь ввиду моё выражение "трюкач" в его адрес? V>Это было настолько страшно, что теперь IB безвозвратно сломал себе моск? ))
Так ты покажаешь, где Синклер тебе нахамил или как обычно ?
Может, ес-но.
Непонятно лишь, почему такое преобразование не делается самим компилятором C# еще с первых версий Linq.
В С++ с выходом лямб они сразу же умели инлайниться компилятором.
S> А как это реализовано это другой вопрос. Запрос к БД или сгенерированный запрос в IL не перестал быть линком. Или ты для этого другое название придумаешь?
Здравствуйте, Ikemefula, Вы писали:
V>>Ты имеешь ввиду моё выражение "трюкач" в его адрес? V>>Это было настолько страшно, что теперь IB безвозвратно сломал себе моск? )) I>Так ты покажаешь, где Синклер тебе нахамил или как обычно ?
_>>Linq используется для того, чтобы разделить стратегю исполнения и сам "запрос".
_>>Это полная чушь, т.к. для разделения используется банальный делегат, а linq тут не нужно в принципе. S>Чегой-то? Один интерфейс к данным (select from), а стратегия исполнения разная -- объекты в памяти, бд, xml и т.д.
Показываю на пальцах:
1. берём код Синклера из теста
2. переименовываем его вариант функции select во что-нибудь другое, например в map2d
3. меняем код запуска алгоритма с "from d in data select ... " на "map2d(data, d=>...)"
4. убираем все упоминания о linq в проекте (т.е. даже import System.Linq не будет)
5. проводим показанные Синклером тесты и убеждаемся что получили в точности тоже самое быстродействие при том же самом разделение задания алгоритма и кода его реализации
Т.е. на самом деле цель была достигнута без всякого Linq, а оно было пристёгнуто просто для видимости.
Здравствуйте, alex_public, Вы писали:
_>Показываю на пальцах:
_>1. берём код Синклера из теста _>2. переименовываем его вариант функции select во что-нибудь другое, например в map2d _>3. меняем код запуска алгоритма с "from d in data select ... " на "map2d(data, d=>...)" _>4. убираем все упоминания о linq в проекте (т.е. даже import System.Linq не будет) _>5. проводим показанные Синклером тесты и убеждаемся что получили в точности тоже самое быстродействие при том же самом разделение задания алгоритма и кода его реализации
_>Т.е. на самом деле цель была достигнута без всякого Linq, а оно было пристёгнуто просто для видимости.
Ты терпел ажно полгода ? Ты, похоже, действительно тонко чувствуешь такие вещи в свой адрес.
V>И далее по обсуждению просто россыпь наездов в таком же духе.
Что касается приведеного, то хамства там нет. Синклер отзывается о тебе в разговоре с другим человеком:
1 "называние всех собеседников идиотами" — это факт, твоя история сообщений(и нарушений) это подтверждает.
2 "беспредметное надувание щек" — это злословие, но не хамство. Но это, опять же, факт, только высказаный эмоционально.
Если ты уверен, что п.2 это нарушение, почему не нажал треугольник или бомбочку ?
Собтсвенно, похоже, тебя легко вывести из равновесия и ты помнишь это месяцами, а может даже и годами, раз у тебя мильён таких примеров.
Это объясняет, почему ты сводишь счеты с Синклером.
Не завидую, жить с такой гремучей смесью внутри. Хорошо, что ты еще цел и здоров, головой и телом, и на стакан не подсел.
Почему пол-года?
Мы всё еще продолжаем там общаться, а этот топик — лишь продолжение того.
I>Ты, похоже, действительно тонко чувствуешь такие вещи в свой адрес.
Ой, да какие "чувствуешь", особенно после суровой школы общения с тобой когда-то? ))
О чём ты шепчешь?
Я просто опять отметил для себя того же самого форумного хулигана.
V>>И далее по обсуждению просто россыпь наездов в таком же духе. I>Что касается приведеного, то хамства там нет.
Там хамство трижды минимум.
Все разы необоснованное.
I>Синклер отзывается о тебе в разговоре с другим человеком: I>1 "называние всех собеседников идиотами" — это факт, твоя история сообщений(и нарушений) это подтверждает.
Ложь.
Посмотри на даты сообщений.
I>2 "беспредметное надувание щек" — это злословие, но не хамство. Но это, опять же, факт, только высказаный эмоционально.
Это и есть грубое хамство.
В этом смысле "трюкач" и вовсе похвала, а гляди ж ты как анус порвало! ))
Тем более, что никакого надувания щёк не было.
Один ненормальный юнец доколебался, чтобы я объяснил ему отличия статической типизации от динамической.
Я отказался, сначала вежливо (а почему я должен это делать?)
В ответ понеслись прямые оскорбления.
Тебе достаточно пройтись от начала обсуждения всего 5 сообщений, чтобы увидеть развитие событий.
В общем, Синклер как обычно форумное хамло с гнильцой.
Общение с ним происходит по единственной причине — больше "с той стороны баррикад" поспорить особо и не с кем.
Приходится терпеть этого шута горохового.
Смотреть на его ужимки и прыжки.
I>Если ты уверен, что п.2 это нарушение, почему не нажал треугольник или бомбочку?
Детсад.
Ты уже тут десяток лет, должен был заметить простую закономерность:
оскорблять, глумиться, хамить, нападать на коллег, критикующих "генеральную линию партию" зазорным НЕ считается.
В этом нет абсоютно ничего плохого.
Все средствва хороши.
На других нападать нельзя.
"Как ты мог, вот же свинство!" — примерно такая реакция.
Причём, играют на удивление весьма натурально. ))
Это особенность некоторых ярких представителей тутошней команды.
Они на своём поле.
Поэтому, игра по их правилам, или никакая.
Пока это не превращается в полнейшую клинику, как в случае IB — я лишь лениво отмахиваюсь.
Наблюдая при этом, ес-но, совершенно несимметричную реакцию на абсолютно идентичные ситуации. ))
Да и похер.
Буквально несколько тутошних неадекватов разогнали кучу интересных собеседников в разное время.
Поэтому, работаем с тем "материалом", что есть по-факту. ))
I>Собтсвенно, похоже, тебя легко вывести из равновесия и ты помнишь это месяцами, а может даже и годами, раз у тебя мильён таких примеров.
Ты-то хоть сопли не разводи. ))
Ничего военного с моей стороны не было.
Подумаешь, рвануло анус у IB, подумаешь, я ответил пару раз в его же манере.
Он же этого и хотел, разве не?
Потом и наскучило.
От него инфы всё-равно ноль, совсем глупое времяпрепровождение выходит, бо товарищ более чем бесполезен.
I>Это объясняет, почему ты сводишь счеты с Синклером.
А с кем тут сводит счёты Синклер?
Почему бы тебе не задать этот вопрос ему каждый раз, когда у него рвёт крышу на очередного несогласного с политикой партии?
Очко жмых-жмых или что? ))
Ты же вроде не из робких?
Или я ошибаюсь? ))
I>Не завидую, жить с такой гремучей смесью внутри. Хорошо, что ты еще цел и здоров, головой и телом, и на стакан не подсел.
Я тебя умоляю, я человек простой.
В реальной-то жизни оно ж проще, бо все славные ребята.
Это на форумах говнецо от безнаказанности демонстрируется.
А я уверен, поймай того же IB в реальной жизни — так он сразу просто душка будет!
Паинька!
Там вот вся эта хрень читается как по нотам, когда чел позволяет себе не отвечать за базар.
Сорт людей такой.
Да и хрен с ними.
Здравствуйте, vdimas, Вы писали:
V>"По краю" ходить умеешь? — не умеешь.
Душа моя, ты свои края потерял так давно, что про края других можешь даже не заикаться
V>Ты не умеешь, так шта свободен.
Все, спекся... "а как дышал, как дышал!!" (с) =)))
V>Пока это не превращается в полнейшую клинику, как в случае IB — я лишь лениво отмахиваюсь.
... V>Подумаешь, рвануло анус у IB, подумаешь, я ответил пару раз в его же манере.
... V>А я уверен, поймай того же IB в реальной жизни — так он сразу просто душка будет!
А я молодец! Как же тебя расплющило-то, большая часть сообщения опять про меня =)
И как выяснилось, ты еще и трус — напрямую ответить стремаешься, осталось по чужим топикам шарахаться.
Мы уже победили, просто это еще не так заметно...
Re[36]: 2D-Linq и оптимизация цифровых фильтров - 3
Здравствуйте, IB, Вы писали:
V>>"По краю" ходить умеешь? — не умеешь. IB>Душа моя, ты свои края потерял так давно, что про края других можешь даже не заикаться
Опять советы удумал давать?
Проблемы с обучаемостью, смотрю? ))
V>>Ты не умеешь, так шта свободен. IB>Все, спекся... "а как дышал, как дышал!!" (с) =)))
И продолжаю замечательно с другими коллегами.
Просто конкретно тебе мне ответить нечего.
Отсутствует предмет обсуждения.
Твои желания пофлеймить, не совпадают с твоими возможностями.
Иди на кошках потренируйся, потом приходи, посмотрим на тебя.