Информация об изменениях

Сообщение Re[30]: C# - from indians by indians от 06.06.2015 13:07

Изменено 06.06.2015 13:09 Evgeny.Panasyuk

Здравствуйте, greenpci, Вы писали:

EP>>Забыл/не забыл зависит от того что именно ты хотел протестировать. А так, если интересно, то можешь ещё и на указателях попробовать через fixed.

G>Филосовский вопрос в следующем. Можно ли будет этот код на указателях и fixed назвать шарпом, или это будет Си плюс плюсная вставка в шарп?! Наподобие asm в си и паскале.

Это всё же будет C#, но такой код будет называться C-style. В Java даже этого нельзя — там будет C-minus-structs-style.
Точно также как на C++ можно писать в Java-style с кучей лишних индерекций, избыточным динамическим полиморфизмом и раздутыми иерархиями, и за это справедливо получать тормоза.

G>Я хотел понять для себя, можно ли написать управляемых код, который будет таким же быстрым, как Си плюс плюс, в рамках этой задачи. На данный момент, делаю вывод, что нельзя. Будет разница в пользу плюсов. То есть плюсы бытсрее.


Справедливости ради, эти десятки процентов не такая уж и значительная разница. Могу ещё раз повторится — и на Java и на C# можно писать быстрый код, но на 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

Re[30]: C# - from indians by indians
Здравствуйте, greenpci, Вы писали:

EP>>Забыл/не забыл зависит от того что именно ты хотел протестировать. А так, если интересно, то можешь ещё и на указателях попробовать через fixed.

G>Филосовский вопрос в следующем. Можно ли будет этот код на указателях и fixed назвать шарпом, или это будет Си плюс плюсная вставка в шарп?! Наподобие asm в си и паскале.

Это всё же будет C#, но такой код будет называться C-style. В Java даже этого нельзя — там будет C-minus-structs-style.
Точно также как на C++ можно писать в Java-style с кучей лишних индерекций, аллокаций, избыточным динамическим полиморфизмом и раздутыми иерархиями, и за это справедливо получать тормоза.

G>Я хотел понять для себя, можно ли написать управляемых код, который будет таким же быстрым, как Си плюс плюс, в рамках этой задачи. На данный момент, делаю вывод, что нельзя. Будет разница в пользу плюсов. То есть плюсы бытсрее.


Справедливости ради, эти десятки процентов не такая уж и значительная разница. Могу ещё раз повторится — и на Java и на C# можно писать быстрый код, но на 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