Если бы даже полчаса - какая разница, тратит он их на установку программы или на компиляцию?
5 минут установка или полчаса? Ну совсем нет разницы
Varg писал(а):
Можно по-прежнему компилировать код в мгновенном режиме, как делается сейчас JIT компиляторами. Часть кода все равно так компилируется, в частности созданный в процессе работы (runtime generated code). Если же софт прямо сейчас не требуется, оптимизировать его фоновым процессом пост-инсталла.
И телефон будет жить 3 часа без розетки
Varg писал(а):
Математика в офисе, т.е. экселе и акцесе, как она выполняется сейчас - крайне тормозной процесс. Обрабатывается она чистым интерпретатором и строго последовательной вычислительной программой. Скорость легко проверить. Там разрыв не на порядок от C99, а в сотни и тысячи раз.
Математика в офисе, как она может работать на виртуальной машине - runtime generated code. Вся математика на листах читается JIT компилятором и превращается в набор исполнимых сегментов. Не заоптимизированных до дыр в двадцатилетнем коде, но компилированных, и потому выполняемых с адекватной производительностью.
Примеры такового самогенерящегося дотнет кода будут? И да, что там по сложности компиляции выражений, которые не совсем тривиальные?
Varg писал(а):
Байткод JVM - это не высокоуровневый ветвистый код с сотнями библиотек и перекрестных ссылок, а очень компактный, близкий к нативному C, уже обработанный и сведенный к конечному алгоритму код.
Подавляющее количество времени компилятор тратит не на перевод готового алгоритма из базовых функций C в машкод, а на дешифровку и развертывание красивых высокоуровневых конструкций в конкретную последовательность действий.
Вот только этот байт-код оптимизировать-то некуда практически Имеем что имеем, со строго типизированными данными, и к примеру профит от 64бит при операциях с памятью (да хоть xor массивов) не получить.
Psilon писал(а):
во-первых уже в 4.5 сортировка работает совсем по-другому
Во-первых, и для самописной сортировки слив в 3 раза.
Psilon писал(а):
во-вторых я тоже могу привести код на шарпе, который работает быстрее аналогичного С++
Тупое создание классов? Сравните банальное перемножение матриц. Без unsafe. Без особых ужимок, банальный перебор влоб. Вполне реальная задача к слову. С unsafe - да, веселее, но к managed коду отношение бует иметь весьма косвенное, ибо привет ошибки в реальной программе.
Member
Статус: Не в сети Регистрация: 20.03.2011 Откуда: Москва
NiTr0 тупое выполнение метода main с одинаковым кодом вызова функций
Добавлено спустя 7 минут: NiTr0 что касается этой "самописной сортировки" - дебильный китайский код это конечно очень круто:) Если первая сортировка выглядит так:
Код:
int arr[10]; int i; for (i = 0; i < 10; i++) { arr[i] = 0; }
то вторая выглядит так:
Код:
int a0 = 0; int a1 = 0; int a2 = 0; int a3 = 0; int a4 = 0; int a5 = 0; int a6 = 0; int a7 = 0; int a8 = 0; int a9 = 0;
и это даже будет побыстрее, чем массив с циклом. Ведь не надо ни высчитывать смещение, ни инкрементировать счетчик... Быдлокод в своей красе. Не говоря про дебилизм высчитывания с DateTime.Now... Функция деления двух чисел на асме тоже будет намного быстрее, чем на срр лолд. Только программы несколько сложнее, а там внезапно преимущества теряются.
_________________ I would tell you a joke about UDP, but you probably wouldn't get it.
NiTr0 что касается этой "самописной сортировки"...
Код смотрели, не? Что для С++, что для C#, сортировка алгоритмически реализована идентично. И да, будь С++ код скомпилирован не майкрософтовским компилятором, а тем же GCC с -O2/-O3, разница была бы еще более внушающей.
К слову, тот же GCC в вашем примере в обеих случаях даст один и тот же код. Развернув цикл, да.
Psilon писал(а):
Не говоря про дебилизм высчитывания с DateTime.Now...
В чем дебилизм-то? И что, оно внест сколь-либо значимую погрешность, при времени исполнения кода 100 мсек и более?
Psilon писал(а):
Функция деления двух чисел на асме тоже будет намного быстрее, чем на срр
Member
Статус: Не в сети Регистрация: 20.03.2011 Откуда: Москва
NiTr0 не суть. Короче: смысла в чистом С++ давно нету. Только с++ "с человеческим лицом" aka Qt развиваются и не дают тому помереть.
Неужели неясно, что при бесконечном числе денег и времени любой адекватный программист напишет идеальную программу, которая будет жрать 640к и не иметь ни одного бага? Я могу на своем примере сказать: у меня еще компания нормальная, если я набыдлокодил, чтобы сделать результат, я могу потратить пару дней на рефакторинг и приведение всего в порядок. А много где - не так. Сделал функционал, криво, но работает? - ну и ладно, делай дальше. Сроки даются сверху менеджерами, они к прогерам отношения практически не имеют. А с начальством спорить кардинально бесполезно, а по мелочи - сильно незаметно (хотя этим почти всего и занимаемся). Такое ощущение, что прогеры думают "ага, новый 16-ядерный проц вышел, напишу ка я похуже этот модуль". Люди работают и тратят на это время. Многие энтузиасты работают даже в нерабочее время, чтобы вам было получше и поприятнее. Это непростой труд, сделать качественную и рабочую программу без багов, даже сказанное относится к разделу фантастики. А чтобы она была еще и быстрой... Вы готовы ждать новую винду без багов и лагов 40 лет, при этом стоить она будет как самолет? Нет? Тогда о чем речь?
_________________ I would tell you a joke about UDP, but you probably wouldn't get it.
Короче: смысла в чистом С++ давно нету. Только с++ "с человеческим лицом" aka Qt развиваются и не дают тому помереть.
Да ну? Не, может в компании, где вы работаете, все так и обстоит, но в целом, особенно за пределами "экосистемы" майкрософт - С/С++ живет и здравствует.
Psilon писал(а):
Вы готовы ждать новую винду без багов и лагов 40 лет, при этом стоить она будет как самолет? Нет? Тогда о чем речь?
Открою секрет: в винде практически все на нативном коде managed код где-то в уголке, во вспомогательных утилитах...
Member
Статус: Не в сети Регистрация: 20.03.2011 Откуда: Москва
NiTr0 я в курсе. Вы не поверите, но 20 лет назад, когда первые винды как раз появлялись на свет, С++ считался тормознутым и убогим с кучей ненужных фич, когда как старые и проверенные средства вроде C/ASM работают как часы, на которых уже написанно куча прекрасного софта (ничего не напоминает, ммм?). Так что все движется своим чередом. Программирование развивается, а не деградирует. Кто бы что не говорил.
_________________ I would tell you a joke about UDP, but you probably wouldn't get it.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения