The OpenNET Project / Index page

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

Сравнение производительности Sun Studio 12, GCC 3.4 и GCC 4.0

20.02.2009 23:13

Надеясь разобраться в причинах отставания OpenSolaris в недавно проведенном тестировании, ресурс phoronix.com решил оценить разницу в производительности приложений, собранных компиляторами Sun Studio 12 (2008/10/07), GCC 3.4.3 и GCC 4.0.2. Тесты выполнялись на платформе OpenSolaris 2008.11.

Итоги:

  • В тесте на скорость кодирования MP3 в LAME, GCC 4 сборка выполнила задание за 43 секунды, GCC 3 - за 45, а Sun Studio 12 - за 127 сек., т.е. выполнялась в 3 раза дольше. При кодировании в формат Ogg отставание Sun Studio 12 было не столь значительным: 37 против 27 секунд. Вероятно причиной отставания является недостаточное использование опций оптимизации при сборке программ в Sun Studio, в то время как при сборке в GCC разработчики задействовали более эффективные опции оптимизации кода;
  • При оценке времени сборки ситуация оказалась обратной, Sun Studio значительно быстрее завершил компиляцию. Так PHP был собран из исходных текстов при помощи Sun Studio за 20 сек., а при помощи GCC за 34 секунды.
  • Также Sun Studio 12 обошел конкурентов и при тестировании производительности обработки изображений пакетом GraphicsMagic, пакет собранный в Sun Studio 12 выполнил 108 (во втором тесте 40, в третьем 100, в четвертом 54) операций в минуту, против 40 (10, 34, 13) у GCC 3 и 43 (12, 38, 17) у GCC 4. В данном случае выигрыш Sun Studio 12 обусловлен поддержкой распараллеливания выполнения кода в многопроцессорной конфигурации, в то время как поддержка OpenMP появилась в GCC только начиная с версии 4.2;
  • При измерении производительности шифрования файла размером 2Гб производительность GnuPG собранного тремя компиляторами оказалась примерно на одном уровне. Одинаковые результаты также получены при тестировании производительности SQLite.


  1. Главная ссылка к новости (http://www.phoronix.com/scan.p...)
  2. OpenNews: Сравнение производительности Ubuntu Linux и OpenSolaris
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/20393-gcc
Ключевые слова: gcc, compile, benchmark, solaris
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (19) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Logo (ok), 23:30, 20/02/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Шото этот тест мне не понятен. Почему GCC 4.0.2? Чтобы в последнем тесте специально показатель был ниже у GCC.
     
     
  • 2.2, Logo (ok), 23:31, 20/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    В предпоследнем тесте
     
  • 2.3, Аноним (-), 23:59, 20/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Шото этот тест мне не понятен. Почему GCC 4.0.2? Чтобы в последнем
    >тесте специально показатель был ниже у GCC.

    В BlastWave репозитории новее нет.

     
     
  • 3.6, User294 (ok), 02:31, 21/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >В BlastWave репозитории новее нет.

    А как это относится к производительности GCC?У меня вот в убунте gcc 4.3.2 и меня если честно крайне мало колыхает у кого там чего нет :).У меня то есть.

     

  • 1.4, Free (??), 00:55, 21/02/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В Sun Studio по умолчанию очень плохая оптимизация. Код может быть в три-четыре раза медленнее, чем для GCC, Intel, PGI, etc. Всегда необходимо использовать -fast, иначе сравнение бессмысленное. Ну вот такое вот поведение у Sun Studio. Для других компиляторов эффект -fast будет незначительным 10-30%.
     
     
  • 2.12, Mikk (??), 10:31, 21/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Если это действительно так, то сам с собой напрашивается вопрос, а почему же OpenSolaris собирают без этого флага?
     
     
  • 3.25, horsh (??), 02:05, 22/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    OpenSolaris собирают разные файлы с разными флагами Ядро одно дело, стандарный ... большой текст свёрнут, показать
     

  • 1.8, auk (?), 06:11, 21/02/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >> Так PHP был собран из исходных текстов при помощи Sun Studio за 20 сек., а при помощи GCC за 34 секунды.

    тут ничего не напутано?
    мне бы такую железку на работу
    проекты уровня PHP собирабтся за секунды

     
     
  • 2.9, sndev (?), 09:10, 21/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    +1, как-то сборка пхп пакета за 30 секунд звучит несколько стремно
     
  • 2.11, Mox (?), 10:16, 21/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Что значит проекты? они собирали сам PHP, а не проекты, написанные на PHP
     
  • 2.16, Аноним (-), 12:44, 21/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    у меня за 41 секунду собирается и я бы не сказал что железо какое-то мега: 2*E5410
     

  • 1.13, Аноним (13), 11:34, 21/02/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На самом деле SunCC под Linux очень и очень не плох, позволяет добиться сильно лучшей оптимизации кода в сравнении с GCC 4.3.3. В есть даже такая фича, как профилирование после сборки с записью инфы о работе программы, о горячих и холодных участках кода и сборка компиляция программы уже на основе этой статистике. В GCC такого нету
     
     
  • 2.14, pazke (?), 12:23, 21/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >На самом деле SunCC под Linux очень и очень не плох, позволяет
    >добиться сильно лучшей оптимизации кода в сравнении с GCC 4.3.3. В
    >есть даже такая фича, как профилирование после сборки с записью инфы
    >о работе программы, о горячих и холодных участках кода и сборка
    >компиляция программы уже на основе этой статистике. В GCC такого нету

    -fprofile-generate
    -fprofile-use

     
     
  • 3.18, Аноним (-), 13:25, 21/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >-fprofile-generate
    >-fprofile-use

    Зато у версии 4.3.x GCC регрессия в 30% на 64 битном коде

     
     
  • 4.20, User294 (ok), 17:14, 21/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Зато у версии 4.3.x GCC регрессия в 30% на 64 битном коде

    Пруфлинк?Или методы бенчмарка?

     
     
  • 5.21, Аноним (-), 17:29, 21/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    http://www.mail-archive.com/gcc@gcc.gnu.org/msg24423.html
     
     
  • 6.23, pazke (?), 18:27, 21/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >http://www.mail-archive.com/gcc@gcc.gnu.org/msg24423.html

    Там вообще-то о фортране речь идет.
    Не факт, что код на C затронут этой проблемой.

     
  • 6.24, User294 (ok), 22:19, 21/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >http://www.mail-archive.com/gcc@gcc.gnu.org/msg24423.html

    Дык там про какую-то байду на фортране?!Мне фортран неинтересен.Вообще.

     

  • 1.22, Аноним (13), 17:55, 21/02/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я вообще не понимаю, как можно смотреть на результаты тестов, в которых не указаны команды сборки.
    Если они просто CC=cc CXX=CC ./configure && make
    то даже смотреть не на что... Из всего, что приходилось собирать под Солярис, только openSll и nginx установили хоть какие-то флаги отптимизации для sunStudio. Причем только nginx сделал все совсем правильно (Спасибо Игорю Сысоеву). А firebird так например вообще упорно добавлял команды оптимизации gcc. гнушные проекты не считают должным знать о других компиляторах...
     

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



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

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