Re[15]: За счет чего выстреливают языки?
От: alex_public  
Дата: 18.07.15 02:37
Оценка:
Здравствуйте, VladD2, Вы писали:

_>>Вообще то как раз в разы и есть...

_>>Вот http://rsdn.ru/forum/flame.comp/6070881
Автор: alex_public
Дата: 07.06.15
совсем не давно был конкретный простейший пример (отставание C# в 7 раз!),

VD>Треп это все. Всегда можно найти какие-то вырожденные случаи, но они никак не будут влиять на общее положение дел. Одно узкое место занимающееся битодроблением можно и вручную оптимизировать (вплоть до ансэйфа или сишной/ассемблерной функции). А, вот 90% гражданского кода работающего с моделью проще писать на более высокоуровневом языке.

Вообще то там часть провала обусловлена особенностям работы с многомерными массивами (т.е. сюда к примеру укладывается вся 2D графика), а другая часть провала обусловлена вообще обработкой любых массивов из чисел. Трёп и вырожденные случаи говоришь? ) Похоже ты вообще не понимаешь о чём речь. Давай ка я тебе покажу все цифры в деталях, чтобы ты оценил масштаб трагедии:

Python      - 17  c //динамический язык, для сравнения
JavaScript  - 13  с //динамический язык, для сравнения
C#          - 8,7 с //я считаю это ужас для компилируемого языка со статической типизацией
Java        - 7,3 с //не сильно лучше, но немного неожиданно (никаких теоретических предпосылок обгона тут C# я не знаю)
C# unsafe   - 5,0 с //используем арифметику указателей (многие алгоритмы невозможно эффективно записать без неё)
D           - 4,9 с //полностью нативный язык с указателями, но не выдающимся оптимизатором (оригинальный компилятор)
C++ no-simd - 3,5 c //мощный оптимизатор проявляет себя, даже если ему запретить использовать все возможности процессора
C++         - 1,3 с //базовый результат C++ с абсолютно тупым кодом (без малейшей оптимизации в исходном коде) не плох, но simd оптимизатор ещё не идеален
C++ opt.    - 0,6 c //после минимальной ручной оптимизации мы достигаем теоретически возможного максимума быстродействия для данного процессора (на одном ядре).

Ты действительно считаешь, что подобное (а оно будет всплывать во всех вычислениях на массивах) — это ничего страшного? )

P.S. Такими темпами я совершенно не удивлюсь, если через пару лет (как раз WebAssembly подоспеет) Microsoft вообще плюнет на .Net и начнёт развивать только JS. Потому как разницы в быстродействие особой нет, а разница в кроссплатформенности и простоте разработки на лицо (и не в пользу .net'a). Вот как раз в последний релиз VisualStudio добавили Cordova (обычный принцип MS: "не можешь победить — возглавь")...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.