Оптимизация проти Intel Compiller

Тема в разделе "WASM.A&O", создана пользователем emergenter, 5 окт 2004.

  1. emergenter

    emergenter New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2003
    Сообщения:
    16
    Адрес:
    СПб
    Подскажите пожалуйста! Кто нибудь соревновался с Intel Compilerom в оптимизации программ??? Интерсны какие результаты и стоит ли соревноваться?
     
  2. Dr.Golova

    Dr.Golova New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2002
    Сообщения:
    348
    Вопрос риторический - безусловно человек сможет оптимизировать лучше как по скорости так и по размеру, но затратит на это настолько больше времени что любой проект кроме hello world станет экономически не выгодным, что в наше время гигагерцовых процессоров явно является главным фактором для ответа на вопрос "стоит ли пробовать".
     
  3. emergenter

    emergenter New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2003
    Сообщения:
    16
    Адрес:
    СПб
    Dr.Golova

    А вот все-таки!! Есть ведь задачи, которые требуют оптимизации... Вот если с точки зрения практики!!!
     
  4. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105




    Уже давно известен ответ на твой вопрос :

    профилирование. Запускается специальная компиляция

    с профилированием, которая покажет какие части

    программы чаще всего выполняется и на что

    тратится основное время процессора. После этого

    смотришь туда внимательно и оптимизируешь.

    Повышение уровня оптимизации, использование

    MMX и SSE на сложной реальной программе не дает

    ничего - я лично проверял. Сам Интел предлагает

    специальные оптимизированные математические библиотеки.

    Значит, трансляция с оптимизацией ,например , программы

    обращения матрицы мало что дает ?! А нужна ее

    сер"езная переделка.

    Есть система VTune, которая это автоматизирует.
     
  5. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    Другими словами, нет смысла оптимизировать сортировку пузырьком по скорости =)
     
  6. emergenter

    emergenter New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2003
    Сообщения:
    16
    Адрес:
    СПб
    valterg

    есть ли какие-нибудь документации по V-TUNE?
     
  7. emergenter

    emergenter New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2003
    Сообщения:
    16
    Адрес:
    СПб
    S_T_A_S_

    А как такое выссказывание: Переписывание кода на ассемблер - это уже выйгрыш в 2 раза!!!
     
  8. AsmGuru62

    AsmGuru62 Member

    Публикаций:
    0
    Регистрация:
    12 сен 2002
    Сообщения:
    689
    Адрес:
    Toronto
    emergenter

    В 2 раза не получится, а получится пару процентов. Компилятор генерирует неплохой код в большинстве случаев. Скорость кода в правильном расположении данных и хороших алгоритмах. Ну и конечно, профилирование полезно.
     
  9. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    emergenter



    IMHO это высказывание абсурдно.

    Так как не сказано, в чем выигрыш!
     
  10. emergenter

    emergenter New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2003
    Сообщения:
    16
    Адрес:
    СПб
    S_T_A_S_

    AsmGuru62

    valterg



    Т.е. я так понял все вы против ОПТИМИЗИЦИИ в ручном виде!! Я правильно понимаю??
     
  11. semen

    semen New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2004
    Сообщения:
    334
    Адрес:
    Russia
    valterg



    А у меня в разы быстрее - я лично проверял :)
     
  12. semen

    semen New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2004
    Сообщения:
    334
    Адрес:
    Russia
    emergenter



    Да - совеменные компиляторы(gcc 3.x, MSVC 7/8, Intel C++ 8) при правильном использовании дают код, который практически нечем улучшить вручную.
     
  13. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    emergenter >




    А я пока ещё так и не понял, про какой вид оптимизации идёт речь.
     
  14. emergenter

    emergenter New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2003
    Сообщения:
    16
    Адрес:
    СПб
    S_T_A_S_

    оптимизация по скорости
     
  15. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    IMHO в некоторых программах оптимизация по скорости вообще безсмысленна, а в некоторых случаях можно написАть и более эффективный код.



    Ещё добавлю: не стоит надеятся, что компилер нормально переварит "абы как" написанный код, в некоторых "клинических" случаях никакой компилятор IMHO не поможет.
     
  16. semen

    semen New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2004
    Сообщения:
    334
    Адрес:
    Russia
    S_T_A_S_





    IMHO написание более эффективного кода(с точки зрения скорости) - тоже есть оптимизация по скорости.







    Эт точно - верно на 100%.
     
  17. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    Да я и имел ввиду, что иногда можно (если нужно) написать код лучше, чем компилятор сделает :)
     
  18. The Svin

    The Svin New Member

    Публикаций:
    0
    Регистрация:
    6 июл 2003
    Сообщения:
    665
    Адрес:
    Russia
    Много слов, никакой эмпирики, никакой математики.

    Похоже на сходку перебравших пива сисадминов.



    Про то что можно дурака валять в "эпохе До_Фига_Герцовых" процов я слышу со времён мега_герцовых, десятки мега_герцовых, сотни_мега герцовых.

    С тех же пор я постоянно слышу жалобы про то что "всё тормозит", я вижу покупателей всё более герцовых процов, которые никак до нирваны "всё летает" меняя и процы и карточки и т.п.

    Сам как пользователь постоянно чувствую себя надутым - как только бабки выложу за новую машину - как будто поколение софтовиков-программёров меняется на ещё более тормознутое и воз и ныне там. Так что резкое улучшение обычно связано со сменой самого софта (если повезёт) и оптимизации системы. А ведь я смотрю как "обычный пользователь".

    Есть по настоящему сложные процессорные обработки и вычисления, инет кишит предложениями об "объединении ресурсов" для решения очередной задачи.

    Так что болтовня про "эпохи *герцовых" - не выдерживает эмпирики. Google к примеру прежде всего революционный софт а потом уже мейнфреймы. Эльбрус - прежде всего интересные алгоритмические решения а потом уже частота.



    Аргумент второй в нашем несерьёзном разговоре:

    Оптимизирует не компилятор, а человек который придумал компилятор, который для реализации своих мыслей (которые в голове бывают) создал робот-автомат - компилятор и научил их ему. Тоже касается библиотек мат. обеспечения - их пишет не кремневый Интел а вполне конкретные человечки.

    И каждый решает для себя что ему делать, или становится таким же человечком который и компилятор может улучшить и библиотеку или в пупсики играть.



    Другое дело что ассемблер или другой низкоуровневый подход - сам по себе ничего не гарантирует, он лишь предоставляет дополнительные удобства для реализации мыслей и более наглядный вид для анализа. Но мысли и анализ он за человека не сделает.
     
  19. emergenter

    emergenter New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2003
    Сообщения:
    16
    Адрес:
    СПб
    НУ ЭТО ФИЛОСОСФИЯ!!! Я спросил лишь кто нибудь пробывал состязаться с компайлероам от ИНТЕЛ!!! Просто я чувствую что мне предстоит это!! Хочу выйграть эту дуэль!! Готов даже пиво поставить за советы.
     
  20. emergenter

    emergenter New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2003
    Сообщения:
    16
    Адрес:
    СПб
    The Svin

    Как пользоваться VTune om?? Я знаю ты умеешь!!!