The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

В Google провели сравнение производительности C++, Java, Go и Scala

04.06.2011 23:33

Роберт Хандт (Robert Hundt) из компании Google опубликовал отчет (PDF, 300 Кб) с результатами тестирования качества оптимизации циклов в реализациях языков C++, Java, Go и Scala. Как и ожидалось, в тестах производительности и потребления памяти лидирует C++, но в отчете отмечается, что достижение высоких показателей связано с необходимостью проведения дополнительных оптимизаций, которые требуют высокой квалификации и зачастую не используются программистами среднего уровня. Java отмечен как язык, наиболее простой для реализации кода, но, с другой стороны, труднопредсказуемый в плане анализа производительности - использование Java VM и сборщика мусора затрудняет тюнинг производительности.

Оценка числа строк кода, потребовавшихся для реализации поставленной задачи (в списке указан размер, относительно кода на языке Scala. Признаком Pro отмечены результаты оценки варианта кода после дополнительного тюнинга и использования специфичных для языка конструкций). Наиболее компактным языком оказался Scala - для решения задачи потребовалось 658 строк.

1.3x C++ Dbg/Opt 850 строк
1.6x Java 1068 строк
1.9x Java Pro 1240 строк
1.0x Scala 658 строк
0.5x Scala Pro 297 строк
1.4x Go 902 строки
1.2x Go Pro 786 строк

Размер результирующих бинарных файлов, после сборки (показатели, относительно размера сгенерированного JAR-архива). Java и Scala работают поверх Java VM и генерируют байт код, а C++ и Go - готовые к исполнению машинные инструкции. Наиболее компактный результирующий файл получился у Java - 13 Кб, у языка Go бинарный файл занял 1.2 Мб, а оптимизированный вариант на C++ - 41 Кб.

45x C++ Dbg 592882 байт
3.1x C++ Opt 41507 байт
1.0x Java 13215 байт
1.6x Java Pro 21047 байт
3.6x Scala 48183 байт
2.8x Scala Pro 36863 байт
94x Go 1249101 байт
92x Go Pro 1212100 байт

Потребление памяти (показатели, относительно реализации на языке C++). Для работы кода на Java и Scala потребовалось в 6 раз больше памяти, чем на языке Cи. Наибольшую прожорливость проявил язык Go.

1x C++ Opt virt 184 Мбreal 163 Мб
2.6x C++ Dbg virt 474 Мбreal 452 Мб
6x Java virt 1109 Мбreal 617 Мб
6x Scala virt 1111 Мбreal 293 Мб
90x Go virt 16.2 Гбreal 501 Мб

Время компиляции (показатели, относительно языка Go, который отличился высокой скоростью компиляции).

6.5x C++ Dbg 3.9 сек
5.0x C++ Opt 3.0 сек
5.2x Java 3.1 сек
5.0x Java Pro 3.0 сек
23.1x Scala scalac 13.9 сек
6.3x Scala fsc 3.8 сек
18.8x Scala Pro scalac 11.3 сек
5.8x Scala Pro fsc 3.5 сек
2.0x Go 1.2 сек
1.0x Go Pro 0.6 сек

Производительность (Показатели, относительно оптимизированного варианта на С++; Варианты "Opt" и "Dbg" отличаются используемыми режимами компиляции).

1.0x C++ Opt 23 сек
8.6x C++ Dbg 197 сек
5.8x Java 64-bit 134 сек
12.6x Java 32-bit 290 сек
4.6x Java 32-bit GC 106 сек
3.7x Java 32-bit SPEC GC 89 сек
3.6x Scala 82 сек
2.9x Scala low-level 67 сек
2.5x Scala low-level GC 58 сек
7.0x Go 6g 161 сек
5.5x Go Pro 126 сек

Дополнение: Один из инженеров Google указал, что путем переработки варианта на языке Java с целью более рационального использования сборщика мусора, удалось приблизить производительность Java-кода к результатам C++. Кроме того, повышение эффективности работы с Java-коллекциями и использование других типов данных может поднять скорость работы Java-кода в 2-3 раза. В ответ эксперты по С++ заявили, что им удалось поднять производительность варианта на С++ примерно в 6 раз.

 
  1. Главная ссылка к новости (http://www.theregister.co.uk/2...)
  2. OpenNews: Релиз набора компиляторов GCC 4.6.0
  3. OpenNews: Представлен новый открытый проект Google - язык программирования Go
  4. OpenNews: Релиз языка программирования Scala 2.8.0
  5. OpenNews: Евросоюз выплатит 2.3 миллиона евро на развитие языка программирования Scala
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/30784-benchmark
Ключевые слова: benchmark, cpp, java, scala, go
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (144) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 00:16, 05/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • –6 +/
    ну все так и думали, правда несомневаюсь что гугловцы еще приукрасили статистику GO
     
     
  • 2.5, Аноним (-), 00:31, 05/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Офигенное приукрашение: 94x - Go (1249101 байт)
    Что, всего в ДЕВЯНОСТО ДВА раза слили? Epic failure.
     
     
  • 3.16, ZOG (?), 01:04, 05/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Ты смотри на другую колонку: real. Там результаты вполне сопоставимые. Ну и нужно учитывать, что Go ещё совсем молодой и плохо оптимизирован. Многие вещи пока не оптимизируют для простоты изменения.
     
  • 3.18, Аноним (-), 01:11, 05/06/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Go линкуется стаически по умолчанию. Размер рантайма 1.1 + метр.
    Для сравнения если статически слинковать приплюснутый код то добавится около 750 кб(libc ...)
     
     
  • 4.23, Аноним (-), 01:39, 05/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Go линкуется стаически по умолчанию. Размер рантайма 1.1 + метр.
    > Для сравнения если статически слинковать приплюснутый код то добавится около 750 кб(libc
    > ...)

    А даже real памяти - какого черта в 4 раза больше сожрано? Даже если там метр рантайма, это никак не оправдывает сжирание 500 мегов. На virtual лучше вообще не смотреть - там просто хардкор! Интересно, а оно с 16.2Гб на 32-битной машине просто умерло бы сразу, обломившись столько скушать? ;)

     
     
  • 5.66, Аноним (-), 13:05, 05/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Там сколько-то процентов от адресного пространства _резервируется_ заранее, для скорости. Это вообще никак не выделенная память. Если взять очень большой файл и сделать mmap, то к virt приплюсуется размер файла, но это же не значит, что он весь в память прочитался, почему же тогда на Go все так обижены?
     
     
  • 6.71, anonymous (??), 13:46, 05/06/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > Там сколько-то процентов от адресного пространства _резервируется_ заранее, для скорости.
    > Это вообще никак не выделенная память. Если взять очень большой файл
    > и сделать mmap, то к virt приплюсуется размер файла, но это
    > же не значит, что он весь в память прочитался, почему же
    > тогда на Go все так обижены?

    почитай повыше об этом.

     
     
  • 7.72, anonymous (??), 13:47, 05/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > почитай повыше об этом.

    тьфу. пониже. %-)

     
  • 6.98, Аноним (-), 19:32, 05/06/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > Там сколько-то процентов от адресного пространства

    В случае 32-битной машины это 400% адресного пространства. Столько не дадут. В случае 64 бит машины - там доли процента и не разглядишь...

     
  • 6.107, Аноним (-), 19:50, 05/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Это вообще никак не выделенная память. Если взять очень большой файл
    > и сделать mmap, то к virt приплюсуется размер файла,

    На 32-битной машине нельзя замапить в одном процессе более 2^32 адресов (реально даже меньше). Ваш Капитан, как обычно.

     
  • 3.92, Аноним (-), 17:25, 05/06/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    А статью то никто и не читал. 94х это относительно "C++ Opt" кода, который прошел минимум 3х очень квалифицированных программистов после написания. Были использованны внутренние гугловские библиотеки и ручное выравнивание памяти. Куда более интересен результат "C++ Dbg"...
     
     
  • 4.108, Аноним (-), 19:51, 05/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > более интересен результат "C++ Dbg"...

    Чем же вам так интересен результат кода с дебаговой информацией? Это отладочная версия, в боевых условиях не применяется.

     
     
  • 5.160, Аноним (-), 17:09, 06/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    читайте внимательней
    "Dbg" - написанный на скорую руку код
     

  • 1.3, Аноним (-), 00:17, 05/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +7 +/
    Т. е. они сами признали, что Go не нужен?
     

     ....большая нить свёрнута, показать (33)

  • 1.6, Аноним (-), 00:33, 05/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +2 +/
    Ява по минимуму слила в 3.7 раза. Ну жабисты ж не жадные, им в 4 раза больше серверов закупить не проблема :)
     
     
  • 2.10, Аноним123321 (ok), 00:40, 05/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Ява по минимуму слила в 3.7 раза. Ну жабисты ж не жадные,
    > им в 4 раза больше серверов закупить не проблема :)

    ...причём закупить -- все всех тех кто собиратся использовать результаты их труда :)

    ведь иногда программы на Java пишутся с ращётом "не только для себя" :-)

     
  • 2.84, chinarulezzz (ok), 14:32, 05/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • –4 +/
    ну, у них бабки водятся в отличии от цэпэпэшников. :)
     
     
  • 3.100, Аноним (-), 19:37, 05/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    > ну, у них бабки водятся в отличии от цэпэпэшников. :)

    Ну да, а LSE видимо бомжи вообще какие-то.И зарплатый и цппшиков как у бомжей, заметно на любом сайте с вакансиями.

     
     
  • 4.123, chinarulezzz (ok), 22:55, 05/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Ну да, а LSE видимо бомжи вообще какие-то.

    это те которые то на виндовсе, то на линуксе, то на сишарпе то на яве или цэпэпэ?

    > И зарплатый и цппшиков как
    > у бомжей, заметно на любом сайте с вакансиями.

    не спорю.


     
     
  • 5.152, Аноним (-), 14:44, 06/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >> И зарплатый и цппшиков как у бомжей, заметно на любом сайте с вакансиями.
    > не спорю.

    Проблема только в том что жабисты получают хуже бомжей - у си++ "бомжей" зарплаты почему-то выше. Наверное, дело в том что на яве пишет каждая вторая специально обученная обезьяна, а си++ будучи довольно замороченным языком все-таки обеспечивает отсев идиотов от программеров. Разумеется, быдлокодер - дешевле специалиста. Только принцип как заплачено, так и зафигачено - не отменяли.

     
     
  • 6.163, chinarulezzz (ok), 21:47, 06/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Проблема только в том что жабисты получают хуже бомжей -

    разве что в твоём уютном параллельном мирке :)

    > у си++ "бомжей" зарплаты почему-то выше.

    Ниже) За явой - ынтырпрайз рынок, а за цэпэпэ - быдлософт и прикладуха.

    > Наверное, дело в том что на яве
    > пишет каждая вторая специально обученная обезьяна, а си++ будучи довольно замороченным
    > языком все-таки обеспечивает отсев идиотов от программеров.

    ггг) то-то с++ распространеннее чем С#, PHP и т.д.) Заморощенный язык для заморощенных погромистов :D

    > Разумеется, быдлокодер - дешевле
    > специалиста. Только принцип как заплачено, так и зафигачено - не отменяли.

    цэпэпэшникам виднее.


     

  • 1.12, Аноним (-), 00:54, 05/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +10 +/
    А где C? Почему с Си не сравнивали?...
     

     ....большая нить свёрнута, показать (36)

  • 1.13, Loooooker (?), 00:58, 05/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +7 +/
    Зато респект за честность. Интересно было бы регулярно смотреть результаты теста, скажем, раз в год.
     
  • 1.25, Stax (ok), 01:55, 05/06/2011 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • +/
    Нормально так джава, нужно всего в 6 раз больше памяти, чем проге на C++ и до 12 раз медленнее..
     
  • 1.29, Tav (ok), 02:39, 05/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    Java и Scala компилируются в байт-код JVM, причем едва-ли есть существенные возможности JVM, недоступные из Java. Так каким образом реализация на Scala оказалась быстрее? Наводит на мысль, что вариант на Java реализован далеко не оптимальным образом.
     
     
  • 2.133, Tav (ok), 02:18, 06/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Так и есть: http://jeremymanson.blogspot.com/2011/06/scala-java-shootout.html
     

  • 1.52, Аноним (-), 08:41, 05/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –2 +/
    Молодцы, полностью подтвердили статус-кво. Рулил, рулит и будет рулит в обозримом будующем только нативно компилируемый C/C++, поделки на виртуальных машинах - жрущая память тормозня, а их недоязык go не нужен вовсе.
     
     
  • 2.147, kernel Doh (?), 13:00, 06/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    Вот только сложность кода C++ по сравнению с JAVA в разы выше. И обычно гораздо дешевле купить +1 новый сервер, чем брать разработчика C++ стоимостью в 2xjava
     
     
  • 3.155, anonymous (??), 15:51, 06/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Вот только сложность кода C++ по сравнению с JAVA в разы выше.

    ORLY?

     

  • 1.53, Аноним (-), 09:05, 05/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    Чем они собирали C++ код ? gcc или clang ?
     
  • 1.60, croster (ok), 11:17, 05/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    В тестах не хватает C#, интересно было бы глянуть на его результаты. Жалко, что в статье не описана точная конфигурация оборудования (указано лишь, что это древний Pentium IV), ОС и версии используемых копиляторов.
    В остальном все предсказуемо - по производительности и экономности расходования памяти C++ впереди планеты всей.
    Вчера наткнулся на интересное сравнение C# (MS .Net 4.0 и Mono 2.6.4), Java 1.6 и C++. Кому интересно - вот ссылка:
    http://www.codeproject.com/KB/dotnet/RuntimePerformance.aspx
     
     
  • 2.81, iZEN (ok), 14:27, 05/06/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +2 +/
    > В тестах не хватает C#, интересно было бы глянуть на его результаты.

    Ага, ещё весь Windows-рантайм за ним тянуть и реестр до кучи. Весело.

     
     
  • 3.91, croster (ok), 17:03, 05/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    И что в этом плохого? Java ничуть не менее монструозная платформа.
     
     
  • 4.97, iZEN (ok), 19:05, 05/06/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    > И что в этом плохого? Java ничуть не менее монструозная платформа.

    Так, для общего развития: JRE занимает 15МБ.


     
     
  • 5.103, Аноним (-), 19:40, 05/06/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –1 +/
    > Так, для общего развития: JRE занимает 15МБ.

    Да ну? А чушки на 100 мегов в пакетах - это что?

     
     
  • 6.122, Аноним (-), 22:45, 05/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Linux x86 - RPM Installer 20.06 MB
    Windows x86 Offline 15.77 MB
     
     
  • 7.126, yz (?), 23:42, 05/06/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –1 +/
    Это только рантайм, либы тянутся из JDK за приложением.
     
     
  • 8.127, iZEN (ok), 01:39, 06/06/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Даже на компе, который физически не имеет доступ в интернет ... текст свёрнут, показать
     
     
  • 9.143, линуксоит (?), 12:19, 06/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    при чем тут доступ в интернет ... текст свёрнут, показать
     
     
  • 10.169, iZEN (ok), 23:06, 06/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Ответ был на это Это только рантайм, либы тянутся из JDK за приложением Види... текст свёрнут, показать
     
     
  • 11.178, Аноним (-), 08:45, 07/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    нах ява, на си все проще... текст свёрнут, показать
     
  • 8.157, dd (??), 15:54, 06/06/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Стандартный либы тянутся как раз из рантайма JDK для этого не нужен Если для... текст свёрнут, показать
     
  • 7.153, Аноним (-), 14:46, 06/06/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > Linux x86 - RPM Installer 20.06 MB
    > Windows x86 Offline 15.77 MB

    А если распаковать? Хотя, конечно, дотнет 4 его натянет - там примерно 200Мб барахла, чтоли...а если считать винду - ну наверное ее (или линукс или что там еще) тогда и для явы надо посчитать. А то ява почему-то тоже не запускается на bare metal.

     
  • 5.120, Andrew Kolchoogin (?), 22:39, 05/06/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    >> И что в этом плохого? Java ничуть не менее монструозная платформа.
    > Так, для общего развития: JRE занимает 15МБ.

    Да Тьюринг с вами!

    47549669 байт у меня ТОЛЬКО rt.jar :)

     
     
  • 6.128, iZEN (ok), 01:41, 06/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    >>> И что в этом плохого? Java ничуть не менее монструозная платформа.
    >> Так, для общего развития: JRE занимает 15МБ.
    > Да Тьюринг с вами!
    > 47549669 байт у меня ТОЛЬКО rt.jar :)

    Ага. Потому что уровень ZIP-компрессии у rt.jar == 0. А в инсталляторе JRE используется алгоритм PACK200.


     
  • 4.131, Бублик (?), 02:04, 06/06/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > И что в этом плохого? Java ничуть не менее монструозная платформа.

    Кофейный рантайм требует где-то около 10Мб. А сколько там шарп? Пятую сотню мегабайт уже разменял?

     
     
  • 5.141, croster (ok), 09:18, 06/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >Пятую сотню мегабайт уже разменял?

    Ничего подобного, в районе 70 Мб. Вот, например:
    http://ftp.novell.com/pub/mono/archive/2.10.2/macos-10-x86/5.4/MonoFramework-

     
     
  • 6.144, линуксоит (?), 12:21, 06/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >>Пятую сотню мегабайт уже разменял?
    > Ничего подобного, в районе 70 Мб. Вот, например:
    > http://ftp.novell.com/pub/mono/archive/2.10.2/macos-10-x86/5.4/MonoFramework-

    для обеих платформ 41 мерабайт .NET 4 Client, 25 мегабайт .NET 4 X86 или X64


     
  • 2.112, none_first (ok), 20:29, 05/06/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    странное сравнение ;) а цель такого (смысл кода) сравнения?
    это никак не оценивает платформу....
    в новости задача была и реализация, да и код (судя по кол-ву строк) присутствует, а по ссылке что-то странное
     

  • 1.62, Александер (?), 11:54, 05/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +1 +/
    http://jeremymanson.blogspot.com/2011/06/scala-java-shootout.html
     
  • 1.65, Аноним (-), 12:57, 05/06/2011 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • +/
    Итого:

    Программу на С++ можно запустить и отлаживать на  любом компе, на Java и Scala - только с 2-мя гигами памяти и более быстрым процессором, а Go - вообще не запустится ни на одном современном десктопе.

     
  • 1.73, Iridium (?), 14:05, 05/06/2011 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • –1 +/
    Полнейшая чушь!
    Сравнили тёплое с мягким и наказали кого попало. :(
    Давайте, до кучи, приплетём PHP, Perl, Delphi, C#… Что там ещё есть? Bash? Python? WhiteSpace? Да какая разница! Лишь бы сравнительную стаью написать!
     
  • 1.74, Аноним (-), 14:05, 05/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    Здесь обсуждение в группе Go: http://groups.google.com/group/golang-nuts/browse_thread/thread/1bc2f869ff90f
     
     
  • 2.104, Аноним (-), 19:44, 05/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    > Здесь обсуждение в группе Go:

    golang-nuts? Хахаха, эпичные парни! Они сами заранее ответили на вопрос "are you nuts?!". Как вы яхту назовете...

     
     
  • 3.132, Аноним (-), 02:05, 06/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Про мышей не забудьте.
     

  • 1.89, Аноним (-), 16:20, 05/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    Как всегда особо порадовала попытка жаберов сравниться по скорости с нормальными языками. И снова Fail.
     
     
  • 2.95, croster (ok), 18:02, 05/06/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    У них это постоянно. То орут, что java не тормозит, то упорото доказывают, что java быстрее си и плюсов.
     
     
  • 3.106, Аноним (-), 19:46, 05/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > У них это постоянно. То орут, что java не тормозит, то упорото
    > доказывают, что java быстрее си и плюсов.

    Быстрее ... в 1/4 раза :))

     
  • 2.111, qwerqwwe (?), 20:26, 05/06/2011 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +/
    Go обосрался куда сильнее, но почему-то это не вызывает таких же сильных эмоций у жабафобов.
     
     
  • 3.135, Аноним (-), 03:29, 06/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    > Go обосрался куда сильнее, но почему-то это не вызывает таких же сильных
    > эмоций у жабафобов.

    Про Go изначально так и сказали: "это наш yблюдок, никому нахрен не нужен, но нам люб". А Java позиционировали как general-purpose.

     
  • 3.148, bvf (ok), 13:18, 06/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    А почему эта статистика должна вызывать эмоции? даже если бы ява просрала бы все тесты производительности за неё все еще платят хорошие деньги.

    Вообще производительность java это одна из мистических вещей, которую невероятно сложно оценить, так как все зависит от подбора параметров под конкретный алгоритм. И так же от количества статистики собранной jit компилятором для проведения оптимизаций. От используемого сборщика мусора. Ну и главный критерий влияющий на измерение статистики это то сколько микрософт заплатила за сравнение javavs.net. :) Гуглы вне подозрений, и поэтому их тесты представляют большой интерес. Но продажность всех остальных не вызывает сомнений.

     
  • 2.149, bvf (ok), 13:25, 06/06/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Результаты статистического сравнения зависит от того кто платит. Ясень пень что любое сравнение технологий это маркетинговая реклама. И мы все хорошо знаем, что больше всего за маркетинг и рекламу платит микрософть.
     

  • 1.113, gegMOPO4 (ok), 20:32, 05/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +1 +/
    О-хо-хонюшки. Опять детский сад. Ну нельзя сравнивать языки на основании одного-единственного теста. Нужны десятки, а то и сотни, самых разных тестов, потому, что, если что-то окажется ими непокрытым, то возможно на этом направлении будет совершенно иная картина.

    Хорошо, что Роберт хотя бы признал, что различные способы решения на одном и том же языке дают большую разницу, чем решения на разных языках (и нужно задание давать профессионалам, а не пытаться скалькировать решение на слабознакомом языке).

     
     
  • 2.125, vle (ok), 23:24, 05/06/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > О-хо-хонюшки. Опять детский сад.

    JFYI
    http://shootout.alioth.debian.org/

     
     
  • 3.150, gegMOPO4 (ok), 14:24, 06/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    И самое разумное там сказано на этой странице: http://shootout.alioth.debian.org/dont-jump-to-conclusions.php .
     
     
  • 4.180, vle (ok), 00:33, 10/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Да, я просто к тому, что какие-никакие бенчмарки, включающие
    более одного теста, в природе существуют.
    Как их "читать" - вопрос отдельный.
     
     
  • 5.181, gegMOPO4 (ok), 00:43, 10/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Да, каждый читает (и понимает) их в меру своей распущенности. ;)
     
  • 2.129, iZEN (ok), 01:45, 06/06/2011 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    > О-хо-хонюшки. Опять детский сад. Ну нельзя сравнивать языки на основании одного-единственного
    > теста. Нужны десятки, а то и сотни, самых разных тестов, потому,
    > что, если что-то окажется ими непокрытым, то возможно на этом направлении
    > будет совершенно иная картина.

    Давайте сравнивать: IBM Lotus Symphony (Embedded Java + Eclipse RCP) и Oracle OpenOffice (голимый C++) в офисной продуктивности.

     
     
  • 3.136, Аноним (-), 03:31, 06/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • –3 +/
    > Давайте сравнивать: IBM Lotus Symphony (Embedded Java + Eclipse RCP) и Oracle
    > OpenOffice (голимый C++) в офисной продуктивности.

    Если ты не в курсе, OOo даже не C++, но с намёками на срaную жаву слили с заменой на LO без жавы. Никому это VM'ное гoвнецo не нужно.

     
     
  • 4.139, iZEN (ok), 07:42, 06/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >> Давайте сравнивать: IBM Lotus Symphony (Embedded Java + Eclipse RCP) и Oracle
    >> OpenOffice (голимый C++) в офисной продуктивности.
    > Если ты не в курсе, OOo даже не C++,

    Cделай хотя бы раз "cd /usr/ports/editors/openoffice.org-3/ && make install clean" во FreeBSD, потом будешь говорить, что оно не на C++. :))

     
     
  • 5.146, ХРЕН (?), 12:52, 06/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    A KDE2 вам не пропатчить ?
     

  • 1.124, vle (ok), 23:22, 05/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    Вот еще для забавы

    http://code.google.com/p/go/issues/detail?id=9

    Кое-где очень весело.

     
  • 1.172, Аналитик (?), 01:59, 07/06/2011 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • –1 +/
    Ээээ... Знаете, такие тесты напоминают мне один случай. В двух соседних деревнях, Горюновка и Бедяевка производились исследования длины половых членов мужской части народонаселения. Среднее значение по Горюновке не превысило 12 см, в то время, как в Бедяевке этот же показатель переваливал за 24 см. Злые языки поговаривали, что исследованию этому верить нельзя из-за различия в методологии: в Горюновке производились измерения, в то время, как в Бедяевке - опросы.
     
  • 1.182, Николай (??), 17:10, 10/06/2011 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • +/
    "Показатели, относительно оптимизированного варианта на С++; Признаком "Opt" отмечен оптимальный вариант, предложенный в процессе анализа несколькими специализирующимися на оптимизации разработчиками. "Dbg" - написанный на скорую руку код"

    То ли перевод кривой то ли кто-то не разбирается совсем. Первая строка первой таблицы: 1.3x C++ Dbg/Opt (850 строк)

    Т.е. код один, а opt и dbg -- это различные режимы компиляции.

     
     
  • 2.183, Николай (??), 17:12, 10/06/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Да, и последняя таблица -- это не производительность, а "Время выполнения"
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру