| 1 2 |
| Производительность компиляторов С++ | |
| От: | Сергей Сацкий, Роман Плеханов | ||
| Дата: | 31.07.07 05:55 | ||
| Оценка: | 240 (16) | ||
| Статья: Производительность компиляторов С++ Автор(ы): Сергей Сацкий, Роман Плеханов Дата: 31.07.2007 Сравнение производительности кода, сгенерированного различными компиляторами С++ на различных аппаратных платформах. За основу статьи взят материал отчета Technical Report on C++ Performance комитета WG21. Набор тестов расширен, в некоторых случаях предлагаемый код модифицирован. Приведен более подробный анализ возникающих накладных расходов. Авторы: sergesatsky twinpeek Аннотация: Сравнение производительности кода, сгенерированного различными компиляторами С++ на различных аппаратных платформах. За основу статьи взят материал отчета Technical Report on C++ Performance комитета WG21. Набор тестов расширен, в некоторых случаях предлагаемый код модифицирован. Приведен более подробный анализ возникающих накладных расходов. |
| Re: Производительность компиляторов С++ | |
| От: | CreatorCray | ||
| Дата: | 31.07.07 07:53 | ||
| Оценка: | +1 | ||
| Здравствуйте, Сергей Сацкий, Роман Плеханов, Вы писали: ССР>Статья: ССР>Производительность компиляторов С++ Автор(ы): Сергей Сацкий, Роман Плеханов Дата: 31.07.2007 Сравнение производительности кода, сгенерированного различными компиляторами С++ на различных аппаратных платформах. За основу статьи взят материал отчета Technical Report on C++ Performance комитета WG21. Набор тестов расширен, в некоторых случаях предлагаемый код модифицирован. Приведен более подробный анализ возникающих накладных расходов. [оффтопик] Я конечно все понимаю, но... Где можно добыть хотя бы старые выпуски журнала... Поиск по инету показал, шо у нас в РБ его купить можно разве что только тут по цене 4$ за один единственный выпуск №6 за 2003. Кстати высказывались как то мысли выкладывать полные статьи со старых выпусков журналов. Жаль что на том и заглохло... [/оффтопик] ... << RSDN@Home 1.1.4 stable SR1 rev. 568>> |
| Re[2]: Производительность компиляторов С++ | |
| От: | Odi$$ey админ | ||
| Дата: | 31.07.07 08:20 | ||
| Оценка: | 5 (2) | ||
| Здравствуйте, CreatorCray, Вы писали: CC>Кстати высказывались как то мысли выкладывать полные статьи со старых выпусков журналов. Они все выложены. surprise! ... << RSDN@Home 1.2.0 alpha rev. 694>> |
| Re[3]: Производительность компиляторов С++ | |
| От: | CreatorCray | ||
| Дата: | 31.07.07 08:25 |
| Здравствуйте, Odi$$ey, Вы писали: OE>Они все выложены. surprise! Воистину surprise. Нда, нет "щастя" в янусе — надо и по хттп ходить иногда... пасиб! ... << RSDN@Home 1.1.4 stable SR1 rev. 568>> |
| Re: Производительность компиляторов С++ | |
| От: | remark | ||
| Дата: | 31.07.07 14:15 | ||
| Оценка: | 4 (3) +10 | ||
| Здравствуйте, Сергей Сацкий, Роман Плеханов, Вы писали: ССР>Статья: ССР>Производительность компиляторов С++ Автор(ы): Сергей Сацкий, Роман Плеханов Дата: 31.07.2007 Сравнение производительности кода, сгенерированного различными компиляторами С++ на различных аппаратных платформах. За основу статьи взят материал отчета Technical Report on C++ Performance комитета WG21. Набор тестов расширен, в некоторых случаях предлагаемый код модифицирован. Приведен более подробный анализ возникающих накладных расходов. Даже прямо как-то странно... или смешно... Нет замеров для самого популярного в мире компилятора С++ (Visual C++) Нет замеров для самой популярной в мире ОС (Windows) Нет замеров для второго по популярности в мире процессора AMD x86 Что такое "Intel, 32 бита" не понятно. Толи Pentium 3, толи Pentium 4, толи Pentium Core... Что такое "Intel, 64 бита" совсем не понятно. Толи это семейство x86-64, толи Itanium. Разница колоссальная. Ниже вроде упоминается IA-64 (название десятилетней давности). Sun UltraSPARC-II отстаёт на два семейства от современного Sun UltraSPARC-IV. Нет, я, конечно, когда тут замеры привожу, я тоже не всё идеально делаю, но я и статьи писать не берусь Можно, конечно сказать, что цифры только для представления картины и максимальная точность и актуальность тут не нужна. Я не согласен. Тут нельзя когда-то что-то замерить и потом запомнить результат на 10 лет. Аппаратные и программные платформы постоянно эволюционируют. Слишком часто приходится слышать, что деления — это долго, что исключения — это медленно, что обращения к памяти — это быстро и т.д. Вобщем я считаю, что уж если что-то мерить, то самое последнее и актуальное, потому что я не уверен, что результаты из статьи будут актуальны даже для моей сейчашней платформы... |
| Re: Производительность компиляторов С++ | |
| От: | Аноним 593 | ||
| Дата: | 01.08.07 05:07 | ||
| Оценка: | 1 (1) | ||
| Здравствуйте, Сергей Сацкий, Роман Плеханов, Вы писали: Ну? Так какой самый лучший? |
| Re[2]: Производительность компиляторов С++ | |
| От: | ArtDenis | ||
| Дата: | 11.08.07 15:26 | ||
| Оценка: | ![]() | ||
| Здравствуйте, remark, Вы писали: R>Даже прямо как-то странно... или смешно... R>Нет замеров для самого популярного в мире компилятора С++ (Visual C++) Видимо побоялись, что он порвёт все остальные компиляторы ... << RSDN@Home 1.1.4 stable SR1 rev. 568>> www.jimm.org — бесплатная аська для сотовых |
| Re[3]: Производительность компиляторов С++ | |
| От: | Аноним 139 | ||
| Дата: | 12.08.07 14:58 |
| Здравствуйте, ArtDenis, Вы писали: AD>Здравствуйте, remark, Вы писали: R>>Даже прямо как-то странно... или смешно... R>>Нет замеров для самого популярного в мире компилятора С++ (Visual C++) AD>Видимо побоялись, что он порвёт все остальные компиляторы Занимательные результаты в статье... По своему опыту могу сказать, что Intel генерит код, в среднем работающий быстрее чем MSVC. |
| Re: Производительность компиляторов С++ | |
| От: | Andrew S | ||
| Дата: | 12.08.07 21:02 | ||
| Оценка: | 1 (1) -1 | ||
| ССР>Статья: ССР>Производительность компиляторов С++ Автор(ы): Сергей Сацкий, Роман Плеханов Дата: 31.07.2007 Сравнение производительности кода, сгенерированного различными компиляторами С++ на различных аппаратных платформах. За основу статьи взят материал отчета Technical Report on C++ Performance комитета WG21. Набор тестов расширен, в некоторых случаях предлагаемый код модифицирован. Приведен более подробный анализ возникающих накладных расходов. Названия таблиц надо приводить над оными, а не под. То, что сейчас — нонсенс, откройте любую книгу и убедитесь(кстати, аналогичное форматирование таблиц во многих статьях RSDN. Думаю, не стОит пояснять, что это некорретно). По содержанию — как уже отмечалось, довольно странный и скудный набор компиляторов, платформ и паттеронов теста, чтобы назвать это сравнением. Например, где тестирование различных циклов, условий с различными операндами. Ну а уж анализа просто нет вообще. Голые цифры — это не анализ. Надо разбираться — почему именно такой результат вплоть до уровня нативного кода, чтобы понять, что привело к нему в случае конкретной платформы компилятора и делать рекомендации по использованию конструкций, дабы уменьшить эти расходы. Т.е. понимать, как именно работает кодогенератор на разных уровнях. А так — это просто повышение энтропии, и ничего более http://www.rusyaz.ru/pr — стараемся писАть по-русски |
| Re[2]: Производительность компиляторов С++ | |
| От: | Коваленко Дмитрий | ||
| Дата: | 13.08.07 05:26 | ||
| Оценка: | ![]() | ||
| Здравствуйте, remark, Вы писали: R>Вобщем я считаю, что уж если что-то мерить, то самое последнее и актуальное, Все самое актуальное давным-давно измерено -- Пользователи не приняли программу. Всех пришлось уничтожить. -- |
| Re: Производительность компиляторов С++ | |
| От: | Пётр Седов | ||
| Дата: | 15.08.07 19:39 |
| Здравствуйте, Сергей Сацкий, Роман Плеханов, вы писали здесь Автор(ы): Сергей Сацкий, Роман Плеханов :Дата: 31.07.2007 Сравнение производительности кода, сгенерированного различными компиляторами С++ на различных аппаратных платформах. За основу статьи взят материал отчета Technical Report on C++ Performance комитета WG21. Набор тестов расширен, в некоторых случаях предлагаемый код модифицирован. Приведен более подробный анализ возникающих накладных расходов. Почему? Не разделяю ваш оптимизм. Кстати, некоторые горе-экспериментаторы пользуясь библиотекой iostreams утверждают, что в области ввода-вывода Java обгоняет C++ Пётр Седов (ушёл с RSDN) |
| Re: Производительность компиляторов С++ | |
| От: | Аноним 904 | ||
| Дата: | 17.08.07 07:26 |
| "...Производительность компиляторов С++..." "...Сравнение производительности кода, сгенерированного различными компиляторами С++..." Вам не кажется что это разные вещи? Производительность компилятора и производительность сгенеренного кода? Лично меня оч. интересует 1й вопрос. Я и зашёл почитать эту статью, в надежде узнать, будет ли свет в оконце, и приблизиться ли хоть чей то компилятор по производительности к дельфи? Или так и придётся мучаться часами собирая сторонни библиотеки? А в статье речь пошла о качестве сгенерированного кода. Имхо, название статьи надо изменить. |
| Re[2]: Производительность компиляторов С++ | |
| От: | Бабокин Дмитрий | ||
| Дата: | 17.08.07 13:47 |
| Здравствуйте, Аноним, Вы писали: А>"...Производительность компиляторов С++..." А>"...Сравнение производительности кода, сгенерированного различными компиляторами С++..." А>Вам не кажется что это разные вещи? Производительность компилятора и производительность сгенеренного кода? А>Лично меня оч. интересует 1й вопрос. Я и зашёл почитать эту статью, в надежде узнать, будет ли свет в оконце, и приблизиться ли хоть чей то компилятор по производительности к дельфи? Или так и придётся мучаться часами собирая сторонни библиотеки? Если не устраивает скорость работы компилятора, то всегда можно скомпилировать на -O0, т.е. без оптимизаций. А если хочется чтобы код быстро работал, то уж придётся подождать. Причём trade-off уже у каждого компилятора разный — кто-то оптимизирует не очень, но работает шустро, кто-то наоборот. |
| Re: Производительность компиляторов С++ | |
| От: | Бабокин Дмитрий | ||
| Дата: | 17.08.07 13:52 |
| Здравствуйте, У меня замечение по поводу наименования 64-битной платформы Intel. В статье фактическая ошибка — название IA-64 относится к платформе Itanium и ничего общего с x86 не имеет. Правильное название Intel64. И, конечно, не мешало бы упомянуть для какого железа происходила оптимизация и на каком железе пускались тесты. Также вопрос по поводу версии icc — почему 9.1, а не 10.0? |
| Re[2]: Производительность компиляторов С++ | |
| От: | CreatorCray | ||
| Дата: | 20.08.07 10:46 |
| Здравствуйте, Бабокин Дмитрий, Вы писали: БД>Также вопрос по поводу версии icc — почему 9.1, а не 10.0? Десятка еще сыровата ... << RSDN@Home 1.1.4 stable SR1 rev. 568>> |
| Re[3]: Производительность компиляторов С++ | |
| От: | Бабокин Дмитрий | ||
| Дата: | 20.08.07 10:55 |
| Здравствуйте, CreatorCray, Вы писали: CC>Здравствуйте, Бабокин Дмитрий, Вы писали: БД>>Также вопрос по поводу версии icc — почему 9.1, а не 10.0? CC>Десятка еще сыровата Сыровата для чего? У неё со стабильностью, на сколько я знаю, вполне всё не плохо. Но для тестов производительности это вообще не важно, поэтому производительность всегда тестируют на последних версиях компиляторов. |
| Re[4]: Производительность компиляторов С++ | |
| От: | CreatorCray | ||
| Дата: | 20.08.07 11:42 |
| Здравствуйте, Бабокин Дмитрий, Вы писали: БД>>>Также вопрос по поводу версии icc — почему 9.1, а не 10.0? CC>>Десятка еще сыровата БД>Сыровата для чего? У неё со стабильностью, на сколько я знаю, вполне всё не плохо. Но для тестов производительности это вообще не важно, поэтому производительность всегда тестируют на последних версиях компиляторов. Неделю-две назад было еще пару существенных багов в компилере... Последняя стабильная версия 9.1.038. Может уже конечно и исправили... ... << RSDN@Home 1.1.4 stable SR1 rev. 568>> |
| Re[5]: Производительность компиляторов С++ | |
| От: | Бабокин Дмитрий | ||
| Дата: | 20.08.07 12:32 |
| Здравствуйте, CreatorCray, Вы писали: CC>Неделю-две назад было еще пару существенных багов в компилере... Последняя стабильная версия 9.1.038. CC>Может уже конечно и исправили... 1. при чём тут стабилити баги, когда нас интересует производительность? 2. в девятке ошибок тоже хватает. Просто о них не все знают, тоже самое и в десятке. Интересно, что вы имеете ввиду под багами? |
| Re: Производительность компиляторов С++ | |
| От: | AntiFreeze | ||
| Дата: | 21.08.07 10:39 |
| Здравствуйте, Сергей Сацкий, Роман Плеханов, Вы писали: ССР>Статья: ССР>Производительность компиляторов С++ Автор(ы): Сергей Сацкий, Роман Плеханов Дата: 31.07.2007 Сравнение производительности кода, сгенерированного различными компиляторами С++ на различных аппаратных платформах. За основу статьи взят материал отчета Technical Report on C++ Performance комитета WG21. Набор тестов расширен, в некоторых случаях предлагаемый код модифицирован. Приведен более подробный анализ возникающих накладных расходов. ССР>Авторы: ССР> sergesatsky ССР> twinpeek ССР>Аннотация: ССР>Сравнение производительности кода, сгенерированного различными компиляторами С++ на различных аппаратных платформах. За основу статьи взят материал отчета Technical Report on C++ Performance комитета WG21. Набор тестов расширен, в некоторых случаях предлагаемый код модифицирован. Приведен более подробный анализ возникающих накладных расходов. Написали бы статью о производительности программистов С++ и как эту производительность улучшить. My name is lucifer, please take my hand |
| Re: Производительность компиляторов С++ | |
| От: | Аноним 681 | ||
| Дата: | 25.08.07 07:40 |
| Здравствуйте, Сергей Сацкий, Роман Плеханов, Вы писали: ССР>Статья: ССР>Производительность компиляторов С++ Автор(ы): Сергей Сацкий, Роман Плеханов Дата: 31.07.2007 Сравнение производительности кода, сгенерированного различными компиляторами С++ на различных аппаратных платформах. За основу статьи взят материал отчета Technical Report on C++ Performance комитета WG21. Набор тестов расширен, в некоторых случаях предлагаемый код модифицирован. Приведен более подробный анализ возникающих накладных расходов. ССР>Авторы: ССР> sergesatsky ССР> twinpeek ССР>Аннотация: ССР>Сравнение производительности кода, сгенерированного различными компиляторами С++ на различных аппаратных платформах. За основу статьи взят материал отчета Technical Report on C++ Performance комитета WG21. Набор тестов расширен, в некоторых случаях предлагаемый код модифицирован. Приведен более подробный анализ возникающих накладных расходов. В формуле на рис.1 [Рисунок 1. Среднее геометрическое (СГ) соотношений времени вычисления суммы чисел с плавающей точкой] T0 можно вынести за знак корня |
| 1 2 |