Производительность компиляторов С++
От: Аноним  
Дата: 31.07.07 06: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 08:53
Оценка: +1
Здравствуйте, Сергей Сацкий, Роман Плеханов, Вы писали:

ССР>Статья:

ССР>Производительность компиляторов С++
Автор(ы): Сергей Сацкий, Роман Плеханов
Дата: 31.07.2007
Сравнение производительности кода, сгенерированного различными компиляторами С++ на различных аппаратных платформах. За основу статьи взят материал отчета Technical Report on C++ Performance комитета WG21. Набор тестов расширен, в некоторых случаях предлагаемый код модифицирован. Приведен более подробный анализ возникающих накладных расходов.


[оффтопик]
Я конечно все понимаю, но... Где можно добыть хотя бы старые выпуски журнала... Поиск по инету показал, шо у нас в РБ его купить можно разве что только тут по цене 4$ за один единственный выпуск №6 за 2003.

Кстати высказывались как то мысли выкладывать полные статьи со старых выпусков журналов. Жаль что на том и заглохло...
[/оффтопик]
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[2]: Производительность компиляторов С++
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 31.07.07 09:20
Оценка: 5 (2)
Здравствуйте, CreatorCray, Вы писали:

CC>Кстати высказывались как то мысли выкладывать полные статьи со старых выпусков журналов.


Они все выложены. surprise!
... << RSDN@Home 1.2.0 alpha rev. 694>>
Re[3]: Производительность компиляторов С++
От: CreatorCray  
Дата: 31.07.07 09:25
Оценка:
Здравствуйте, Odi$$ey, Вы писали:

OE>Они все выложены. surprise!

Воистину surprise.
Нда, нет "щастя" в янусе — надо и по хттп ходить иногда...
пасиб!
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re: Производительность компиляторов С++
От: remark Россия http://www.1024cores.net/
Дата: 31.07.07 15: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 лет. Аппаратные и программные платформы постоянно эволюционируют. Слишком часто приходится слышать, что деления — это долго, что исключения — это медленно, что обращения к памяти — это быстро и т.д.
Вобщем я считаю, что уж если что-то мерить, то самое последнее и актуальное, потому что я не уверен, что результаты из статьи будут актуальны даже для моей сейчашней платформы...



1024cores &mdash; all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
Re: Производительность компиляторов С++
От: Аноним  
Дата: 01.08.07 06:07
Оценка: 1 (1)
Здравствуйте, Сергей Сацкий, Роман Плеханов, Вы писали:

Ну? Так какой самый лучший?
Re[2]: Производительность компиляторов С++
От: ArtDenis Россия  
Дата: 11.08.07 16:26
Оценка: :)))
Здравствуйте, remark, Вы писали:

R>Даже прямо как-то странно... или смешно...

R>Нет замеров для самого популярного в мире компилятора С++ (Visual C++)
Видимо побоялись, что он порвёт все остальные компиляторы
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Re[3]: Производительность компиляторов С++
От: Аноним  
Дата: 12.08.07 15:58
Оценка:
Здравствуйте, ArtDenis, Вы писали:

AD>Здравствуйте, remark, Вы писали:


R>>Даже прямо как-то странно... или смешно...

R>>Нет замеров для самого популярного в мире компилятора С++ (Visual C++)
AD>Видимо побоялись, что он порвёт все остальные компиляторы

Занимательные результаты в статье... По своему опыту могу сказать, что Intel генерит код, в среднем работающий быстрее чем MSVC.
Re: Производительность компиляторов С++
От: Andrew S Россия http://alchemy-lab.com
Дата: 12.08.07 22:02
Оценка: 1 (1) -1
ССР>Статья:
ССР>Производительность компиляторов С++
Автор(ы): Сергей Сацкий, Роман Плеханов
Дата: 31.07.2007
Сравнение производительности кода, сгенерированного различными компиляторами С++ на различных аппаратных платформах. За основу статьи взят материал отчета Technical Report on C++ Performance комитета WG21. Набор тестов расширен, в некоторых случаях предлагаемый код модифицирован. Приведен более подробный анализ возникающих накладных расходов.


Названия таблиц надо приводить над оными, а не под. То, что сейчас — нонсенс, откройте любую книгу и убедитесь(кстати, аналогичное форматирование таблиц во многих статьях RSDN. Думаю, не стОит пояснять, что это некорретно).

По содержанию — как уже отмечалось, довольно странный и скудный набор компиляторов, платформ и паттеронов теста, чтобы назвать это сравнением. Например, где тестирование различных циклов, условий с различными операндами. Ну а уж анализа просто нет вообще. Голые цифры — это не анализ. Надо разбираться — почему именно такой результат вплоть до уровня нативного кода, чтобы понять, что привело к нему в случае конкретной платформы компилятора и делать рекомендации по использованию конструкций, дабы уменьшить эти расходы. Т.е. понимать, как именно работает кодогенератор на разных уровнях. А так — это просто повышение энтропии, и ничего более
http://www.rusyaz.ru/pr — стараемся писАть по-русски
Re[2]: Производительность компиляторов С++
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 13.08.07 06:26
Оценка: :)
Здравствуйте, remark, Вы писали:

R>Вобщем я считаю, что уж если что-то мерить, то самое последнее и актуальное,


Все самое актуальное давным-давно измерено
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re: Производительность компиляторов С++
От: Пётр Седов Россия  
Дата: 15.08.07 20:39
Оценка:
Здравствуйте, Сергей Сацкий, Роман Плеханов, вы писали здесь
Автор(ы): Сергей Сацкий, Роман Плеханов
Дата: 31.07.2007
Сравнение производительности кода, сгенерированного различными компиляторами С++ на различных аппаратных платформах. За основу статьи взят материал отчета Technical Report on C++ Performance комитета WG21. Набор тестов расширен, в некоторых случаях предлагаемый код модифицирован. Приведен более подробный анализ возникающих накладных расходов.
:

Заключение

Библиотека ввода-вывода C++ неизбежно будет становиться эффективнее и эффективнее.

Почему? Не разделяю ваш оптимизм.
Кстати, некоторые горе-экспериментаторы пользуясь библиотекой iostreams утверждают, что в области ввода-вывода Java обгоняет C++ .
Пётр Седов (ушёл с RSDN)
Re: Производительность компиляторов С++
От: Аноним  
Дата: 17.08.07 08:26
Оценка:
"...Производительность компиляторов С++..."
"...Сравнение производительности кода, сгенерированного различными компиляторами С++..."

Вам не кажется что это разные вещи? Производительность компилятора и производительность сгенеренного кода?
Лично меня оч. интересует 1й вопрос. Я и зашёл почитать эту статью, в надежде узнать, будет ли свет в оконце, и приблизиться ли хоть чей то компилятор по производительности к дельфи? Или так и придётся мучаться часами собирая сторонни библиотеки?

А в статье речь пошла о качестве сгенерированного кода. Имхо, название статьи надо изменить.
Re[2]: Производительность компиляторов С++
От: Бабокин Дмитрий Россия  
Дата: 17.08.07 14:47
Оценка:
Здравствуйте, Аноним, Вы писали:

А>"...Производительность компиляторов С++..."

А>"...Сравнение производительности кода, сгенерированного различными компиляторами С++..."

А>Вам не кажется что это разные вещи? Производительность компилятора и производительность сгенеренного кода?

А>Лично меня оч. интересует 1й вопрос. Я и зашёл почитать эту статью, в надежде узнать, будет ли свет в оконце, и приблизиться ли хоть чей то компилятор по производительности к дельфи? Или так и придётся мучаться часами собирая сторонни библиотеки?


Если не устраивает скорость работы компилятора, то всегда можно скомпилировать на -O0, т.е. без оптимизаций. А если хочется чтобы код быстро работал, то уж придётся подождать. Причём trade-off уже у каждого компилятора разный — кто-то оптимизирует не очень, но работает шустро, кто-то наоборот.
Re: Производительность компиляторов С++
От: Бабокин Дмитрий Россия  
Дата: 17.08.07 14:52
Оценка:
Здравствуйте,

У меня замечение по поводу наименования 64-битной платформы Intel. В статье фактическая ошибка — название IA-64 относится к платформе Itanium и ничего общего с x86 не имеет. Правильное название Intel64. И, конечно, не мешало бы упомянуть для какого железа происходила оптимизация и на каком железе пускались тесты.

Также вопрос по поводу версии icc — почему 9.1, а не 10.0?
Re[2]: Производительность компиляторов С++
От: CreatorCray  
Дата: 20.08.07 11:46
Оценка:
Здравствуйте, Бабокин Дмитрий, Вы писали:

БД>Также вопрос по поводу версии icc — почему 9.1, а не 10.0?

Десятка еще сыровата
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[3]: Производительность компиляторов С++
От: Бабокин Дмитрий Россия  
Дата: 20.08.07 11:55
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Здравствуйте, Бабокин Дмитрий, Вы писали:


БД>>Также вопрос по поводу версии icc — почему 9.1, а не 10.0?

CC>Десятка еще сыровата

Сыровата для чего? У неё со стабильностью, на сколько я знаю, вполне всё не плохо. Но для тестов производительности это вообще не важно, поэтому производительность всегда тестируют на последних версиях компиляторов.
Re[4]: Производительность компиляторов С++
От: CreatorCray  
Дата: 20.08.07 12:42
Оценка:
Здравствуйте, Бабокин Дмитрий, Вы писали:

БД>>>Также вопрос по поводу версии icc — почему 9.1, а не 10.0?

CC>>Десятка еще сыровата

БД>Сыровата для чего? У неё со стабильностью, на сколько я знаю, вполне всё не плохо. Но для тестов производительности это вообще не важно, поэтому производительность всегда тестируют на последних версиях компиляторов.


Неделю-две назад было еще пару существенных багов в компилере... Последняя стабильная версия 9.1.038.
Может уже конечно и исправили...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[5]: Производительность компиляторов С++
От: Бабокин Дмитрий Россия  
Дата: 20.08.07 13:32
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Неделю-две назад было еще пару существенных багов в компилере... Последняя стабильная версия 9.1.038.

CC>Может уже конечно и исправили...

1. при чём тут стабилити баги, когда нас интересует производительность?

2. в девятке ошибок тоже хватает. Просто о них не все знают, тоже самое и в десятке. Интересно, что вы имеете ввиду под багами?
Re: Производительность компиляторов С++
От: AntiFreeze  
Дата: 21.08.07 11:39
Оценка:
Здравствуйте, Сергей Сацкий, Роман Плеханов, Вы писали:

ССР>Статья:

ССР>Производительность компиляторов С++
Автор(ы): Сергей Сацкий, Роман Плеханов
Дата: 31.07.2007
Сравнение производительности кода, сгенерированного различными компиляторами С++ на различных аппаратных платформах. За основу статьи взят материал отчета Technical Report on C++ Performance комитета WG21. Набор тестов расширен, в некоторых случаях предлагаемый код модифицирован. Приведен более подробный анализ возникающих накладных расходов.


ССР>Авторы:

ССР> sergesatsky
ССР> twinpeek

ССР>Аннотация:

ССР>Сравнение производительности кода, сгенерированного различными компиляторами С++ на различных аппаратных платформах. За основу статьи взят материал отчета Technical Report on C++ Performance комитета WG21. Набор тестов расширен, в некоторых случаях предлагаемый код модифицирован. Приведен более подробный анализ возникающих накладных расходов.

Написали бы статью о производительности программистов С++ и как эту производительность улучшить.
Re: Производительность компиляторов С++
От: Аноним  
Дата: 25.08.07 08:40
Оценка:
Здравствуйте, Сергей Сацкий, Роман Плеханов, Вы писали:

ССР>Статья:

ССР>Производительность компиляторов С++
Автор(ы): Сергей Сацкий, Роман Плеханов
Дата: 31.07.2007
Сравнение производительности кода, сгенерированного различными компиляторами С++ на различных аппаратных платформах. За основу статьи взят материал отчета Technical Report on C++ Performance комитета WG21. Набор тестов расширен, в некоторых случаях предлагаемый код модифицирован. Приведен более подробный анализ возникающих накладных расходов.


ССР>Авторы:

ССР> sergesatsky
ССР> twinpeek

ССР>Аннотация:

ССР>Сравнение производительности кода, сгенерированного различными компиляторами С++ на различных аппаратных платформах. За основу статьи взят материал отчета Technical Report on C++ Performance комитета WG21. Набор тестов расширен, в некоторых случаях предлагаемый код модифицирован. Приведен более подробный анализ возникающих накладных расходов.

В формуле на рис.1 [Рисунок 1. Среднее геометрическое (СГ) соотношений времени вычисления суммы чисел с плавающей точкой] T0 можно вынести за знак корня (при условии, что базовые значения T0...T12 сохранены на момент вычисления СГ). Оптимизация!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.