gcc VS msvc

Тема в разделе "LANGS.C", создана пользователем cupuyc, 21 янв 2011.

  1. green

    green New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2003
    Сообщения:
    1.217
    Адрес:
    Ukraine
    r90
    Насколько я понимаю, этими ухищрениями векторизацию цикла в GCC не включить. А значит отставание от VC++10 неизбежно. Собственно, автовекторизация-то включена(-O3 ведь), но GCC в данном случае не смог её применить.

    в gcc 4.6 обещают существенный прогресс в этом направлении.
     
  2. rat4

    rat4 Member

    Публикаций:
    0
    Регистрация:
    13 сен 2005
    Сообщения:
    30
    r90
    Да, но не на всех архитектурах.
     
  3. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    green

    Спасибо. 2687 ms
     
  4. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763
    Интел тоже довольно хорошо собирает. У меня, правда, проц AMD так что видимо не вся оптимизация работает, но результат примерно как у msvc2010.
     
  5. r90

    r90 New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2005
    Сообщения:
    898
    green
    Ну, во-первых, можно ли догнать VC++10 я не знаю. Последний раз я щупал vc лет десять назад, когда ещё не пересел в линупс. Во-вторых, разворачивание циклов может быть полезно и без векторизации. И, наконец, в третьих, основная идея моего совета в том, что если хочется выжать из gcc максимум, то надо курить мануал, а не ждать линупсойдов.
    rat4
    Да, что-то такое в мануале было написано. Но настолько мутно... Я пришёл к выводу, что если -O2 не отключает стековые фреймы, значит это не мои проблемы. И уж во-всяком случае, в контексте данного обсуждения это не важно нисколько: что msvc, что интеловский компилятор не умеют работать с теми архитектурами.
     
  6. rat4

    rat4 Member

    Публикаций:
    0
    Регистрация:
    13 сен 2005
    Сообщения:
    30
    r90
    С x86 не умеют работать? :)
     
  7. green

    green New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2003
    Сообщения:
    1.217
    Адрес:
    Ukraine
    r90, rat4
    В gcc 4.6 -O2 и -O3 будут включать -fomit-frame-pointer даже на x86.
     
  8. r90

    r90 New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2005
    Сообщения:
    898
    rat4
    На x86 -O2 отключает стековые фреймы. И по-моему, отключало всегда. То что третий и четвёртый отключают -- это факт. За второй не поручусь, давно это было, не помню.
     
  9. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    Сорри, за некропостинг, но может кто возьмётся добавить в соревнование ещё и Intel и PGI?