The OpenNET Project / Index page

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

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

Роберт Хандт (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
Тип: Практикум
Ключевые слова: benchmark, cpp, java, scala, go
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | 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 [^] [ответить]     [к модератору]
  • +/
    А даже real памяти - какого черта в 4 раза больше сожрано Даже если там метр ра... весь текст скрыт [показать]
     
     
  • 5.66, Аноним (-), 13:05, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    Там сколько-то процентов от адресного пространства _резервируется_ заранее, для ... весь текст скрыт [показать]
     
     
  • 6.71, anonymous (??), 13:46, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    почитай повыше об этом ... весь текст скрыт [показать]
     
     
  • 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 [^] [ответить]     [к модератору]  
  • +/
    На 32-битной машине нельзя замапить в одном процессе более 2 32 адресов реально... весь текст скрыт [показать]
     
  • 3.92, Аноним (-), 17:25, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    А статью то никто и не читал 94х это относительно C Opt кода, который проше... весь текст скрыт [показать]
     
     
  • 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 не нужен?
     
     
  • 2.4, SCHigi (?), 00:29, 05/06/2011 [^] [ответить]    [к модератору]  
  • –1 +/
    у Go совсем другая цель, нежели скорость или там размер кода - повышение производительности труда программистов и легкость сопровождения кода. И он ещё в самом начале своего развития.
     
     
  • 3.7, Аноним (-), 00:34, 05/06/2011 [^] [ответить]     [к модератору]  
  • –3 +/
    Не, у них цель - повышение продаж оборудования производителями серверов Судя по... весь текст скрыт [показать]
     
     
  • 4.11, Аноним (-), 00:41, 05/06/2011 [^] [ответить]     [к модератору]  
  • +1 +/
    Из этих результатов не видно, как оно масштабируется Может у него есть некий ми... весь текст скрыт [показать]
     
     
  • 5.24, Аноним (-), 01:42, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    Не, ну почему-же Из этих результатов прекрасно видно что программа на Go вообще... весь текст скрыт [показать]
     
  • 4.17, Аноним (17), 01:06, 05/06/2011 [^] [ответить]    [к модератору]  
  • +/
    Это затраты связанные со сборкой мусора, указать сколько точно потребляет программа на GO трудно.
     
     
  • 5.20, Аноним (-), 01:33, 05/06/2011 [^] [ответить]    [к модератору]  
  • +/
    Да какая мне разница? Меня волнует как оно будет работать в сумме. От их сборки мусора нельзя же отказаться, или где?!
     
     
  • 6.30, Аноним (17), 02:43, 05/06/2011 [^] [ответить]     [к модератору]  
  • –1 +/
    Э 8230 смотрите, GO создан для того чтобы писать программы, серверы, которые б... весь текст скрыт [показать]
     
     
  • 7.34, anonymous (??), 04:14, 05/06/2011 [^] [ответить]     [к модератору]  
  • +2 +/
    только мне кажется, что на сервере гораздо важнее скорость работы скомпилиро... весь текст скрыт [показать]
     
     
  • 8.35, Аноним (17), 04:53, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    Скорость в прикладных задачах http, обработка изображений у GO на уровне C , чу... весь текст скрыт [показать]
     
     
  • 9.37, anonymous (??), 05:06, 05/06/2011 [^] [ответить]    [к модератору]  
  • +1 +/
    я, кагбэ, ещё и на ресурсы намекал. что-то картинка с памятью меня совершенно не радует. честное слово, я уж лучше Dylan тогда возьму, на нём хоть писать приятней.
     
     
  • 10.39, Аноним (17), 05:15, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    Не совсем понял, что не радует Менеджмент памяти, типа выделили 17ГБ Вы наверн... весь текст скрыт [показать]
     
     
  • 11.40, anonymous (??), 05:22, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    это число означает то, что менеджер памяти 8212 хреновый на всякий случай ... весь текст скрыт [показать]
     
     
  • 12.41, Аноним (17), 05:26, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    Для начало надо было бы уточнить, что вообще делает программа Потом надо бы всп... весь текст скрыт [показать]
     
     
  • 13.43, anonymous (??), 05:29, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    я, собственно, не имел опыта конкретно с эрлангом, но то, что столько памяти не ... весь текст скрыт [показать]
     
     
  • 14.44, Аноним (17), 05:35, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    Ну вот спорят до сих пор, зачем Erlang у столько памяти нужно, много лет спорят ... весь текст скрыт [показать]
     
     
     
    Часть нити удалена модератором

  • 16.46, Аноним (17), 05:58, 05/06/2011 [ответить]     [к модератору]  
  • +/
    Ну, не знаю, сказал же вам, посмотрите что за тест проходят программы, вам должн... весь текст скрыт [показать]
     
     
  • 17.47, anonymous (??), 06:08, 05/06/2011 [^] [ответить]     [к модератору]  
  • –2 +/
    вот честное слово лень если этот тест показывает, как не неприспособленой к ре... весь текст скрыт [показать]
     
     
  • 18.48, Аноним (17), 06:15, 05/06/2011 [^] [ответить]     [к модератору]  
  • +1 +/
    Уж я тут помочь не смогу никак вам Ejabberd тоже нишевый, ничего обычного в нем... весь текст скрыт [показать]
     
     
  • 19.49, anonymous (??), 06:25, 05/06/2011 [^] [ответить]     [к модератору]  
  • –1 +/
    в своё время особо и не было а потом я как-то перестал искать, потому что у мен... весь текст скрыт [показать]
     
     
  • 20.50, Аноним (17), 06:31, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    Ну раз для вас все так черно-бело, могу вас поздравить 8212 вы достигли состо... весь текст скрыт [показать]
     
  • 21.51, anonymous (??), 06:34, 05/06/2011 [^] [ответить]     [к модератору]  
  • –1 +/
    жутко интересно, где 171 чёрно-белость 187 ну, кроме того, что я уже немоло... весь текст скрыт [показать]
     
  • 22.151, Аноним (-), 14:38, 06/06/2011 [^] [ответить]    [к модератору]  
  • +/
    > и привык называть фигню фигнёй, а не политкорректно «некоей штучкой».

    Зачет, зачет :). Old-school detected :D

     
  • 20.115, anonimus (?), 21:37, 05/06/2011 [^] [ответить]    [к модератору]  
  • +/
    http://steve.vinoski.net/pdf/IEEE-Reliability_with_Erlang.pdf
     
  • 11.42, anonymous (??), 05:27, 05/06/2011 [^] [ответить]     [к модератору]  
  • +1 +/
    чуть поясню подобное 171 резервирование 187 вредно уже тем, что система не ... весь текст скрыт [показать]
     
     
  • 12.58, Andrew Kolchoogin (?), 10:53, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    Угу Анноит -- пиши комплейн Строго говоря, ядрам современных операционн... весь текст скрыт [показать]
     
     
  • 13.67, anonymous (??), 13:29, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    8230 вот я на это и намекал, собственно если всей оперативки со всем свопом... весь текст скрыт [показать]
     
  • 11.109, Аноним (-), 19:53, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    Это некоторые особо тупые анонимы не понимают что на 32-битной системе процесс н... весь текст скрыт [показать]
     
  • 7.99, Аноним (-), 19:35, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    Действительно, надо Поскольку я не даун, я знаю что в системе с 32-битной адрес... весь текст скрыт [показать]
     
  • 3.9, Аноним123321 (ok), 00:40, 05/06/2011 [^] [ответить]    [к модератору]  
  • +/
    > у Go совсем другая цель, нежели скорость или там размер кода

    нет.

    как раз именно _скорость_ :-)

    и не просто так его сделали компилируемым в машинный-код

     
  • 3.31, анон (?), 03:28, 05/06/2011 [^] [ответить]     [к модератору]  
  • –1 +/
    Эта цель достигается не созданием новых языков, а правильной организацией обучен... весь текст скрыт [показать]
     
     
  • 4.63, Аноним (-), 12:28, 05/06/2011 [^] [ответить]    [к модератору]  
  • +/
    Бред какой-то. Гуглу нужно бросать свои разработки и идти в министерство образования ЗОГа?
     
  • 4.86, szh (ok), 14:36, 05/06/2011 [^] [ответить]    [к модератору]  
  • +3 +/
    > А задачи go вполне понятны - чтобы было медленно и прожорливо. Иначе как же железо новое впаривать?

    Гугл не занимается продажей железа, думать головой будешь прежде чем "разоблачать" ?

     
  • 3.57, anonymous (??), 10:46, 05/06/2011 [^] [ответить]    [к модератору]  
  • –1 +/
    А какя тогда цель? Go заохавает мир? =)
     
     ....нить скрыта, показать (33)

  • 1.6, Аноним (-), 00:33, 05/06/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Ява по минимуму слила в 3.7 раза. Ну жабисты ж не жадные, им в 4 раза больше серверов закупить не проблема :)
     
     
  • 2.10, Аноним123321 (ok), 00:40, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    причём закупить -- все всех тех кто собиратся использовать результаты их труд... весь текст скрыт [показать]
     
  • 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 [^] [ответить]     [к модератору]  
  • +/
    это те которые то на виндовсе, то на линуксе, то на сишарпе то на яве или цэпэпэ... весь текст скрыт [показать]
     
     
  • 5.152, Аноним (-), 14:44, 06/06/2011 [^] [ответить]     [к модератору]  
  • +/
    Проблема только в том что жабисты получают хуже бомжей - у си бомжей зарплат... весь текст скрыт [показать]
     
     
  • 6.163, chinarulezzz (ok), 21:47, 06/06/2011 [^] [ответить]     [к модератору]  
  • +/
    разве что в твоём уютном параллельном мирке Ниже За явой - ынтырпрайз рынок,... весь текст скрыт [показать]
     
  • 1.12, Аноним (-), 00:54, 05/06/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +10 +/
    А где C? Почему с Си не сравнивали?...
     
     
  • 2.19, Аноним (-), 01:22, 05/06/2011 [^] [ответить]    [к модератору]  
  • +/
    C обычно показывает себя чуть шустрее плюсов и чуть экономичнее.
     
     
  • 3.22, Аноним (-), 01:35, 05/06/2011 [^] [ответить]    [к модератору]  
  • +1 +/
    > C обычно показывает себя чуть шустрее плюсов и чуть экономичнее.

    На нем сложно наворотами разбрасываться, что способствует культурному и экономному стилю программирования :)

     
     
  • 4.56, Tiny (?), 10:25, 05/06/2011 [^] [ответить]    [к модератору]  
  • –5 +/
    Ограниченность С не способствует ничему кроме быдлокодинга в крупных проектах. void*, Мимикрия под ООП с использованием структур.
     
     
  • 5.59, Andrew Kolchoogin (?), 10:57, 05/06/2011 [^] [ответить]     [к модератору]  
  • +4 +/
    Ограниченность C способствует удержанию в голове программиста идеи, что программ... весь текст скрыт [показать]
     
     
  • 6.61, Tiny (?), 11:41, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    Касты вас использовать никто не заставляет, ООП и шаблоны позволяют избавиться о... весь текст скрыт [показать]
     
     
  • 7.70, anonymous (??), 13:43, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    тем, что у него есть исторически сложившееся значение вообще, лучше бы CLU разв... весь текст скрыт [показать]
     
  • 7.94, Andrew Kolchoogin (?), 17:53, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    А void -- заставляют, что ли О, да Особенно при обращении к совсем не объект... весь текст скрыт [показать]
     
     
  • 8.114, анон (?), 21:05, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    Порой без этого никак Данный оператор и в С будет делать что-то, вполне соотв... весь текст скрыт [показать]
     
     
  • 9.116, Andrew Kolchoogin (?), 22:19, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    Если его не перегрузили А перегрузить его можно весьма эзотерическим способом ... весь текст скрыт [показать]
     
     
  • 10.119, анон (?), 22:29, 05/06/2011 [^] [ответить]    [к модератору]  
  • +/
    Ок. Зачем кому-то заниматься подобным? К тому же не стоит забывать и о макросах.
     
     
  • 11.121, Andrew Kolchoogin (?), 22:41, 05/06/2011 [^] [ответить]     [к модератору]  
  • +1 +/
    О Мы подошли к Главному Вопросу Программирования Зачем быдлокодить Отв... весь текст скрыт [показать]
     
     
  • 12.161, анон (?), 18:18, 06/06/2011 [^] [ответить]    [к модератору]  
  • +/
    Речь о другом на самом деле. Никто не вынуждает перегружать операторы. А без void* порой не обойтись.
     
  • 10.162, dmi3s (ok), 18:47, 06/06/2011 [^] [ответить]    [к модератору]  
  • +1 +/
    > И получить что-нибудь вида operator+(char *, int)

    Конкретно вот это получить нельзя.
    Хотелось бы обсуждать вкус помидоров с теми, кто их ел.

     
  • 8.156, anonymous (??), 15:53, 06/06/2011 [^] [ответить]    [к модератору]  
  • +/
    > А в C -- отличается. Поэтому я могу быть совершенно уверен, что
    > оператор '+' в коде на C делает что-то, вполне соответствующее моему
    > пониманию.

    справедливости ради:
    #define + -

     
     
  • 9.158, anonymous (??), 15:55, 06/06/2011 [^] [ответить]    [к модератору]  
  • +/
    но не везде прокатывает, да. %-)
     
  • 5.69, anonymous (??), 13:40, 05/06/2011 [^] [ответить]     [к модератору]  
  • –2 +/
    ООП is not a silver bullet also, ООП -- это мимикрия под структуры с усложнённы... весь текст скрыт [показать]
     
     
  • 6.77, Tiny (?), 14:22, 05/06/2011 [^] [ответить]     [к модератору]  
  • –1 +/
    Потрудитесь узначть что такое ООП для начала ... весь текст скрыт [показать]
     
     
  • 7.79, anonymous (??), 14:26, 05/06/2011 [^] [ответить]    [к модератору]  
  • –2 +/
    > Потрудитесь узначть что такое ООП для начала

    это фетиш некоторых wannabe-программистов. которые считают, что симула-подобные императивные языки — это Ъ и вершина технологий.

     
     
  • 8.117, Andrew Kolchoogin (?), 22:24, 05/06/2011 [^] [ответить]     [к модератору]  
  • +4 +/
    Вы перегибаете палку Для объектируемых алгоритмов ООП весьма и весьма полезен... весь текст скрыт [показать]
     
     
  • 9.159, anonymous (??), 15:59, 06/06/2011 [^] [ответить]     [к модератору]  
  • +/
    немного я, впрочем, не говорил, что ООП не нужно вовсе я просто имел в виду, ч... весь текст скрыт [показать]
     
  • 7.138, oops_ (?), 06:26, 06/06/2011 [^] [ответить]     [к модератору]  
  • –1 +/
    Это всего лишь надстройка над структурным программированием ... весь текст скрыт [показать]
     
     
  • 8.164, анон (?), 22:40, 06/06/2011 [^] [ответить]    [к модератору]  
  • +/
    ru.wikipedia.org/wiki/Объектно-ориентированное_программирование посмотрите пункт "основные понятия".
     
     
  • 9.165, anonymous (??), 22:47, 06/06/2011 [^] [ответить]    [к модератору]  
  • +/
    > ru.wikipedia.org/wiki/Объектно-ориентированное_программирование посмотрите пункт
    > "основные понятия".

    мало того, что ссылка на русскую педию, так ещё и не в тему.

     
     
  • 10.166, анон (?), 22:55, 06/06/2011 [^] [ответить]    [к модератору]  
  • +/
    А что не так с русской вики? Очередные придирки с претензией на интеллектуальность? Насчет ссылки - можно было и догадаться. Прочитайте основные принципы ООП и ответьте - причем здесь структуры?
     
     
  • 11.170, anonymous (??), 23:09, 06/06/2011 [^] [ответить]    [к модератору]  
  • +/
    > причем здесь структуры?

    действительно: при чём струкруты к структурному программированию? советую уйти хотя бы в ту же вику и не возвращаться, пока не наступит просветление.

     
     
  • 12.173, анон (?), 07:13, 07/06/2011 [^] [ответить]    [к модератору]  
  • +/
    Считайте что "структуры" в данном конексте и есть "структурное программирование".  Глупые придирки означают лишь то, что вам нечего ответить по делу.
     
     
  • 13.174, anonymous (??), 07:16, 07/06/2011 [^] [ответить]     [к модератору]  
  • +/
    я также могу считать, что 171 простыня 187 означает 171 платье 187 , а ... весь текст скрыт [показать]
     
     
  • 14.175, анон (?), 08:02, 07/06/2011 [^] [ответить]     [к модератору]  
  • +/
    Дело ваше Только в текущем контексте подмена слов вполне допустима По вашим по... весь текст скрыт [показать]
     
     
  • 15.176, anonymous (??), 08:11, 07/06/2011 [^] [ответить]     [к модератору]  
  • +1 +/
    зачем так дрожать за свою 171 личность 187 вот же фетиш у людей 8230 ты в... весь текст скрыт [показать]
     
     
  • 16.177, анон (?), 08:35, 07/06/2011 [^] [ответить]     [к модератору]  
  • +/
    Признаю, просто запутало то что изначально речь шла именно о структурах Понимаю... весь текст скрыт [показать]
     
     
  • 17.179, anonymous (??), 08:49, 07/06/2011 [^] [ответить]    [к модератору]  
  • +/
    и вот почему сразу было не сказать: «пардон, ошибся, вас много, я один»? зачем было всё это время упорствовать? как будто больше никто никогда не ошибается…
     
  • 5.101, Аноним (-), 19:38, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    Почему-то быдлокода на высокоуровневых языках куда больше Если можно просто и б... весь текст скрыт [показать]
     
     
  • 6.118, Andrew Kolchoogin (?), 22:29, 05/06/2011 [^] [ответить]     [к модератору]  
  • +1 +/
    Потому, что пишут на них больше Писали бы на языке Ассемблера -- быдлокод был б... весь текст скрыт [показать]
     
  • 6.130, Бублик (?), 02:02, 06/06/2011 [^] [ответить]    [к модератору]  
  • +/
    Увы, быдлокода на любых массовых языках полно. Быдлокод чаще всего элементарно рентабельней.
     
     
  • 7.140, iZEN (ok), 07:47, 06/06/2011 [^] [ответить]     [к модератору]  
  • +1 +/
    Быдлокод чаще всего поддаётся рефакторингу и покрытием Unit-тестами Но Быдло... весь текст скрыт [показать]
     
  • 4.137, oops_ (?), 06:20, 06/06/2011 [^] [ответить]     [к модератору]  
  • +/
    Насчет культуры поспорил бы Слижком уж волно писать позволяет ... весь текст скрыт [показать]
     
     ....нить скрыта, показать (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 +/
    Молодцы, полностью подтвердили статус-кво Рулил, рулит и будет рулит в обозримо... весь текст скрыт [показать]
     
     
  • 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 [^] [ответить]    [к модератору]  
  • +/
    > Это только рантайм, либы тянутся из JDK за приложением.

    Даже на компе, который физически не имеет доступ в интернет? :))

     
     
  • 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 [^] [ответить]     [к модератору]  
  • +/
    А если распаковать Хотя, конечно, дотнет 4 его натянет - там примерно 200Мб бар... весь текст скрыт [показать]
     
  • 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 +/
    Ага Потому что уровень ZIP-компрессии у rt jar 0 А в инсталляторе JRE испол... весь текст скрыт [показать]
     
  • 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 ... весь текст скрыт [показать]
     
     
  • 6.144, линуксоит (?), 12:21, 06/06/2011 [^] [ответить]     [к модератору]  
  • +/
    для обеих платформ 41 мерабайт NET 4 Client, 25 мегабайт NET 4 X86 или X64 ... весь текст скрыт [показать]
     
  • 2.112, none_first (ok), 20:29, 05/06/2011 [^] [ответить]     [к модератору]  
  • +/
    странное сравнение а цель такого смысл кода сравнения это никак не оценива... весь текст скрыт [показать]
     
     ....нить скрыта, показать (18)

  • 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 и ... весь текст скрыт [показать]
     
  • 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 изначально так и сказали это наш yблюдок, никому нахрен не нужен, но на... весь текст скрыт [показать]
     
  • 3.148, bvf (ok), 13:18, 06/06/2011 [^] [ответить]     [к модератору]  
  • +1 +/
    А почему эта статистика должна вызывать эмоции даже если бы ява просрала бы все... весь текст скрыт [показать]
     
  • 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 Op... весь текст скрыт [показать]
     
     
  • 3.136, Аноним (-), 03:31, 06/06/2011 [^] [ответить]     [к модератору]  
  • –3 +/
    Если ты не в курсе, OOo даже не C , но с намёками на срaную жаву слили с замено... весь текст скрыт [показать]
     
     
  • 4.139, iZEN (ok), 07:42, 06/06/2011 [^] [ответить]     [к модератору]  
  • +/
    Cделай хотя бы раз cd usr ports editors openoffice org-3 make install clea... весь текст скрыт [показать]
     
     
  • 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:
    Заголовок:
    Текст:


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