`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Игорь Дериев

Кто на свете всех милее... быстрее?

Любопытные и достаточно красноречивые результаты тестирования эффективности четырех принципиальных языков программирования: C++, Java, Scala, Go, проведенное специалистами Google.

Тестирование - на самых базовых вещах: циклы, массивы, списки и пр. Без использования трюков. И старый добрый C++ выглядит очень бодро - чемпион по двум принципиальным показателям: компактности исполняемого кода и производительности.

Кто на свете всех милее... быстрее?

Кто на свете всех милее... быстрее?

Хорошо видно, что легенды о производительности Java - это все-таки легенды. А что же Go, детище Google? Сравнительно компакные исходники, быстро компилируются. Но толку-то... Лучшее - враг хорошего :)

+66
голосов

Напечатать Отправить другу

Читайте также

C++ вроде бы ничего удивительного,
убивает Java по сравнению с Scala (учитывая, как именно исполняется полученный код).

p. 3: "Java does not allow arrays of generic types. However, lists are index-able, so this code is permissible:
int[] header = new int[size]; - ???
However, this appeared to incur tremendous GC overhead. In order to alleviate this problem we slightly rewrite the code...
Scala allows arrays of generics:
var header = new Array[Int](size)
Scala/Java Garbage Collection: Since GC has other negative performance side-effects, one could estimate that without the GC anomaly, Java would be about roughly 30% faster than Scala."

Итог табл. 8.

Я не специалист и нет времени, чтобы разобраться глубоко,
но что-то в этом исследовании настораживает со Scala
(ощущение сходное с ощущениями от чтения блогов наших коллег с мелафонами, без упоминания лейбла которых не работают даже сервисы Майкрософт))))

Имхо новую легенду тоже надо проверить со всей тщательностью

А с "чистым" С постеснялись сравнить?

а что сейчас пишут на чистом С?

Дрова?

Программы для МК в промэлектронике, к примеру - если в промышленных масштабах, ну и отдельные психи в университетах продолжают писать разные библиотеки, которыми потом пользуются все. Тот же гугл, кстати совсем не чурается С там, где в этом есть смысл.
Но поинт был не в этом - в оригинальной статье совсем не оригинальный вывод: чем ниже порог вхождения для быдлокодеров, тем медленнее и больше (по весу) код. Т.е переписать конкретно этот "бенчмарк" на pure С спецам из гугла не составило бы большого труда, но есть большая вероятность, что тогда и плюсы имели бы бледный вид.

ассемблер забыли:)))

Про ASM есть смысл говорить только в рамках одной платформы, но даже в этом случае именно писать на нем смысла мало - компиляторы давно достаточно умные. Но вот знать ASM, чтобы понимать, в каком месте компилятор скосячил, и что с этим делать - программисту действительно не помешает. Быдлокодеру - не обязательно.

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT