Re[36]: C# - from indians by indians
От: Evgeny.Panasyuk Россия  
Дата: 08.06.15 15:32
Оценка:
Здравствуйте, gandjustas, Вы писали:

EP>>>>Тезис в цитате (с которым я полностью согласен) довольно прост — на C++ проще создать быстрый код. Ты же пытаешься передёрнуть в какую-то совершенно другую плоскость

G>>>Плоскость та же самая. Просто ответь на вопрос насколько проще
EP>>Намного проще.
G>Намного это насколько?

Настолько, что даже в рассматриваемом примере, при использовании удобных средств типа ФВП и лямбд, C++ код скомпилированный в JS (!) оказывается практически в два раза быстрее чем аналогичный на C#.
И это на C# с использованием структур, которые как ты сам пишешь используют редко (а в C++ value type это default) — если же перейти к классам, то там уже получаются отставания на порядки.

G>>>Кроме того операции с complex не такой уж частый случай. Я вот сомневаюсь что в том же ФБ много кода, работающего с вещественными числами.

EP>>Повторюсь в N-ый раз Это бьёт далеко не только по арифметике и подобным вычислениям.
G>Ок, покажи другой пример, близкий к реальности, где нет арифметики с комплексными числами, матрицами итп.

Например послушай какие оптимизации делали вот тут (хотя бы первые полчаса), и почему.
Или тебе нужен короткий пример который мы тут сможем воспроизвести?

EP>>>>Ты почему-то говоришь в контексте каких-то отдельных областей типа web'а — причём так, что как-будто ничего другого нет. Уж по верь "быстрый код на C++" нужен не только гигантам.

G>>>Не видел ни одного случая, чтобы без C++ нельзя было добиться достаточного быстродействия.
EP>>Опять 25. Без C++, на Java и C# можно добиться быстродействия, что не ясно-то? Ты с чем споришь?
G>С выделенным.

А какие у тебя аргументы? И контраргументы какого типа ты сможешь принять?

EP>>>>Тебе попадаются задачи где не нужен? Поздравляю, вот только не надо необоснованно экстраполировать свой опыт на всю индустрию.

G>>>Как раз ты пытаешься опыт ФБ экстраполировать на всю индустрию.
EP>>Где я это пытаюсь делать?
G>В последних трех постах.

Ты прочитай ещё раз цитату. Они не говорят ничего про жёсткие (и дорогие в реализации) оптимизации, хотя и они у них есть. Они говорят что нормально написанный код C++ просто работает быстро, в отличии от Java и т.п.
Примеры в этом топике это также подтверждают — нравится тебе это или нет.

G>>>Увы никто, из тех кто будет читать этот форум, даже близко не подойдет к таким масштабам.

EP>>Да причём тут вообще масштабы? Есть много программ которые работают на устройствах конечных пользователей и где нужна скорость.
G>И там почему-то JavaScript, C#, Java и swift.

Ага. И, барабанная дробь, C++.

EP>>Да, это на порядок сложнее. Например примеры из этого топика:

EP>>Вместо того чтобы просто объявить класс Complex — будешь вручную нарезать массив double.
EP>>Вместо того чтобы взять готовую ФВП transform, и передать в неё лямбду — будешь выписывать ручной for-цикл.
EP>>И чем больше уровней, тем больше ad-hoc boilerplate, причём комбинаторно.
G>Но это, как мы выяснили уже, вырожденный пример. В реальности не встречающийся.

Кто и где это выяснил?

G>В реальности количество боилерплйта на C++ оказывается не меньше, чем на java или C#.


Аргументы?

EP>>>>Мой поинт наоборот противоположный, и я уже устал его повторять:

EP>>>>Предел оптимизации везде примерно одинаковый, разница в десятки процентов это не так уж серьёзно. Но на C++ этот предел гораздо проще достичь.
G>>>На практике ровно наоборот.
EP>>Почему это? Вот в этом топике и Java и C# показали скорость близкую к C++.
G>Потому что быстродействие программ вовсе не от быстродействия математики зависит.

Ты не смотри то что там комплексные числа умножаются — C# код с классами получился медленней практически на два порядка. Даже если бы сами вычисления там были моментальными — то картину это бы никак не поменяло.

G>Ты говоришь что на C++ проще получить быстрый код.


Ну да: "Reasonably written C++ code just runs fast".

G>Я говорю что на C++ в любом случае писать сложно, но код можно получить более быстрый, чем с другими языками.


Прочитай ещё раз цитату:

"The going word at Facebook is that 'reasonably written C++ code just runs fast,' which underscores the enormous effort spent at optimizing PHP and Java code. Paradoxically, C++ code is more difficult to write than in other languages, but efficient code is a lot easier [to write in C++ than in other languages]." – Herb Sutter at //build/, quoting Andrei Alexandrescu

И прочитай выделенное. А потом чётко сформулируй с чем ты не согласен в этой цитате.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.