Обновить
43
6.3

Пользователь

Отправить сообщение

зачем вам возвращать IQueryable из методов вашего репозитория?

Вот зачем

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

orders.Where(o => 
             o.Created.Year < fiveYearsAgo 
             && o.State = OrdrerState.Coordination
             && o.AccountManager.Fired);

Для того чтобы запустить приложение нам нужна программа которая будет эмулировать машину способную выполнять MSIL код

Я понял, что если кто-то в интернете не прав, то это не мои проблемы, а его.

Так что всего хорошего. Это вам с такими убеждениями жить дальше.

А давайте вы сначала покажете, где в этой "виртуальной машине" находится резолв методов и всё прочее, о чём мы спорили.

Потому что сейчас вы пытаетесь натянуть сову на глобус, цепляетесь к терминологии.

Да называйте чем хотите. Я с первого сообщения пытаюсь донести мысль, что в дотнете код запускается точно также, как и нативный. Там нет никакой песочницы. Это нативно скомпилированный код, а не какая-то интерпретационная машина. И даже не виртуальная машина, потому что там нет виртуализации.

Давайте, покажите, какие издержки у этой "виртуальной машины". Что там "тормозит". По какой причине код шарпа в принципе не может быть быстрее c++/rust.

И очень забавно, что у @FFS_Studiosбыл только один коммент и только под вашей статьёй. Совпадение? И один плюс в карму при одном комменте. Вот же везунчик, а?

Мне всё равно, что там написано. Clr не является виртуальной машиной в том смысле, в котором мы спорим. Там нет накладных расходов на работу кода. Это рантайм-библиотека вроде stdlib, только с GC, JIT и другими вещами. Этот вопрос ещё 2009 году обсуждался на SO

https://stackoverflow.com/questions/1564348/is-the-clr-a-virtual-machine

CLR - это не виртуальная машина. Это рантайм. Там нет никакой прослойки между исполняемым кодом и ОС.

MissingMethodException срабатывает только на typeof(App).InvokeMember(), что является частью рефлекшена.

Про ссылку на RyuJIT не понял ничего. Тоже компилер. Он не виртуальная машина. Интерфейс его - это рантайм компиляция IL кода из рефлекшена.

И картинка здесь зря. Не разбираетесь - не лезьте.

Виртуальная машина

Нет в дотнете виртуальной машины.

К примеру когда метод вызывается в первый раз, его для начала нужно вообще найти, быть может его вообще не существует.

Бред. Это компилируемый язык. Если метода нет, код не скомпилируется.

Далее каждый вызов будет происходить через переходники а не напрямую

Нет.

Если виртуальная машина хочет что-то оптимизировать, ей нужно собирать статистику использование.

Это вы сейчас с джавовым хотспотом путаете. Впрочем там тоже не так всё просто.

Еще у нас кроссплатформенность, поэтому Вы не забиваете себе голову такими вопросами как: в какой кодировке находиться имя полученного файла

Лол

Умеет виртуальная машина определять конкретное оборудование и проводить оптимизации под него, разумеется во время исполнения программы.

Лол нет. Во время компиляции. Виртуальной машины не существует.

Разумеется, все вышеперечисленное происходит бесплатно, потому что это волшебная магия.

Всё вышеперечисленное просто не существует.

Удивительно что по Вашей логике языки на VM в это чудо умеют а нативные - нет.

Именно. Потому что для поддержки инструкций нужно компилить с поддержкой инструкций. Дотнет это может делать на целевой машине, а кресты - нет.

Вы разберитесь сначала, что за накладные расходы виртуальной машины такие, потом говорите. Для начала узнайте, что такое JIT-компилятор. И почему он называется "компилятор".

JIT который секретные оптимизации делает в рантайме

Если для вас векторные инструкции вроде AVX - это секретные оптимизации, то я вас слегка огорчу. Они ни для кого не секретные.

Вы мне на вопрос не ответили. Какой-то газ, какая-то вода. Работу человека кто считать будет? Зря что-ли такая разница в стоимости между приготовленной едой и продуктами в магазине.

И ещё вопрос вдогонку: будете головой работать за миску риса в день? Я - нет.

он будет сливать С++, Rust etc хоть с AOT хоть без него.

Вообще не факт. JIT-компилятор ориентируется на платформу, на которой запущен и может оптимизировать код под фичи процессора. А классическая картина для скомпилированных крестами бинарей - заточка под все процы, включая говно мамонта. И да, Native AOT работает медленнее IL кода с JIT. Но зато запускается моментально.

А почему вы сравниваете еду, которую ещё нужно пойти купить и приготовить с электричеством, которое приготовили и доставили ко мне в дом?

Давайте сравним с перегретым радиоактивным паром первого контура ВВЭР тогда уж. Вот там будет дёшево. Но нужно самому прийти и приготовить.

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

Да ладно! Вы решили, что ORM - это не религия, а всего лишь инструмент управления сложностью, он не всегда подходит и надо им пользоваться там, где его применение оправдано?

Я не понял, а работа на миске супа - это преимущество? Ну зайдите в ближайшую доставку, посмотрите, сколько там стоит миска супа и переведите на киловатты. У меня получилось порядка 100 кВт*ч. Я, как белковая нейросеть, предпочёл бы кушать из розетки и не запариваться каждый день с вопросом "а чего бы пожрать".

Энергоэффективность нейросетей - вопрос времени. Я думаю, что создание масштабных сетей, которые могут работать дешевле, чем "за еду" - это не фантастика, а вопрос ближайшего времени.

Я для себя сделал вывод, что если компания живёт в экселе - то у неё очень плохо с разработчиками.

Размерами никого не удивить, сотни тысяч строк и десятки таблиц - это небольшая эскюэльненькая базочка. Да, постгрес, да и mysql ворочают и побольше и побыстрее и на скромном железе. В принципе, это логичный путь для развития внутренней системы.

Только есть одно но.

RDBMS не имеют интерфейса. В отличие от экселя. Мало данные загнать туда, надо ещё для них сделать UI, который их вносит, редактирует, показывает. И это не так просто, как кажется.

Об этом был неплохой сериал MurderBot. Правда в итоге он всё равно всех спас, хоть и не хотел.

Я понимаю, что надо оставить комментарий везде, потому что без вашего мнения ну никак не обойдутся.

Но смысл в этом комментарии какой? "Размер сетки" надо полагать входит в определение "идентичный натуральному". Не совсем понял, что имелось в виду, количество нейронов или ещё какой показатель, но это не важно. Важно то, что любой показатель возможно повторить. Как минимум теоретически.

Вот и всё. Нет никакого нюанса.

искусственно воспроизвести натуральный мозг с точностью до... вряд ли даже молекулы

Если мы скопируем мозг, допустим, Энштейна, то обнаружим, что нет сходства молекула-в-молекулу с мозгами других людей. И у вас теперь два варианта: признать, что интеллект - это термин плоскостью выше молекулярного соответствия или сказать, что у остальных людей интеллекта нет.

Я почему-то не верю в какие-то барьеры бесконечного выбора. Для меня всё просто: если есть натуральный интеллект, то возможен и искусственный, идентичный натуральному. Всё. AGI возможен.

то как бы не получается, что компрессор с частотным управлением экономичнее старт-стопного. Никак, почему-то, не получается.

У старт-стопного есть гистерзис, у инверторного нет. И верхний край этого гистерзиса как раз и устанавливается на уровне заданной температуры. То есть, если холодильник установлен на 2 градуса, то он начинает молотить при двух. А при одном выключается. То есть он тупо делает температуру ниже, чем надо. А ещё тепловая инерция. Переморозить сильнее, чем надо как нефиг делать.

Инверторник тупо ПИДит сколько энергии надо вкидывать в поддержание температуры и не тратит лишнего.

писать продакшен-код в срок, без паники и багов

Я вот так и не научился писать код без багов. Хотя я не вкатун. И в срок это не про меня, особенно если срок спускают сверху. Ну хоть вроде без паники.

приходит в первый день на проект, открывает Jira — и не понимает ничего.

Помню свои ощущения после выхода на новую работу. Именно так. Не понимаю ничего. И на второй день не понимаю. И на третий. И так на каждой работе. Так я всё-таки вкатун?

ощущение, что ты всех обманул и вот-вот это вскроется

Тоже было.

У меня ощущение, что текущая ситуация всех устраивает. Ну всмысле компании довольны, что они набирают "опытных" разрабов, а их "синьёры" их развивают. "Опытные" разрабы тоже довольны, что вкатились. "Синьёры" тоже довольны, что их синьёрят. А хрен знает, кто недоволен.

Денег, счастья, здоровья.

А-а-а-а, по существу... Да не знаю. Наверное хорошие инструменты для работы. Не обязательно один универсальный, можно под каждую область свой, но хороший.

Не уйдём мы от множества форматов, не уйдём. Универсальность инструмента приводит к всратости формата.

Информация

В рейтинге
911-й
Зарегистрирован
Активность