Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Тезис в цитате (с которым я полностью согласен) довольно прост — на C++ проще создать быстрый код. Ты же пытаешься передёрнуть в какую-то совершенно другую плоскость
Плоскость та же самая. Просто ответь на вопрос насколько проще и насколько нужна скорость с учетом всех факторов, потому что для сравнительных факторов нужна база для сравнения, иначе рассуждения ни о чем.
G>>Для большинства проектов проценты прироста быстродействия
EP>Причём тут "проценты"?
EP>Выше как раз показано что при использовании Java-style это не проценты, а разы, и даже порядки.
А при использовании C# не разы. Кроме того операции с complex не такой уж частый случай. Я вот сомневаюсь что в том же ФБ много кода, работающего с вещественными числами.
G>>останутся незамеченными и дешевле будет сделать апгрейд железа, чем заниматься оптимизацией. Поэтому утверждение что "на C++ быстрый код получить на порядки проще" не имеет никакого смысла и верно только в контексте фейсбука\гугла и еще пары-тройки гигантов.
EP>Ты почему-то говоришь в контексте каких-то отдельных областей типа web'а — причём так, что как-будто ничего другого нет. Уж поверь "быстрый код на C++" нужен не только гигантам.
Не видел ни одного случая, чтобы без C++ нельзя было добиться достаточного быстродействия. Но это вовсе не отменяет факта, что в том же ФБ переписывание на С++ и оптимизация очень даже оправданы.
EP>Тебе попадаются задачи где не нужен? Поздравляю, вот только не надо необоснованно экстраполировать свой опыт на всю индустрию.
Как раз ты пытаешься опыт ФБ экстраполировать на всю индустрию. Увы никто, из тех кто будет читать этот форум, даже близко не подойдет к таким масштабам.
G>>В остальных случаях сложность оптимизации на C++ и C# (и иногда Java) сравнимы, а учитывая в общем более высокую сложность разработки на C++ еще непонятно что будет проще в итоге.
EP>Нет, не сравнимы. В C++ я могу сделать много уровней абстракций, которые будут либо бесплатными, либо крайне дешёвыми. В C#, а тем более Java, так не получится. И вот за счёт этого получается проще.
А не делать уровни абстракции не? Или ты считаешь, что это на порядок сложнее?
EP>Мой поинт наоборот противоположный, и я уже устал его повторять:
EP>Предел оптимизации везде примерно одинаковый, разница в десятки процентов это не так уж серьёзно. Но на C++ этот предел гораздо проще достичь.
На практике ровно наоборот. В C++ можно вовсе не выделять память под объекты, а в C#\Java без этого никак. В некоторых случаях только один этот факт позволяет из кода на C++ выжать в разы больше быстродействия. Правда затраты на такую оптимизацию очень быстро превышают разумные пределы. Но для ФБ такие оптимизации оправданы, а для других — вовсе нет.