тест C++ vs ASM

Тема в разделе "WASM.HEAP", создана пользователем GoldFinch, 10 дек 2008.

  1. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    kaspersky
    именно
     
  2. green

    green New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2003
    Сообщения:
    1.217
    Адрес:
    Ukraine
    GoldFinch
    Если брать с обеих сторон среднестатистических программистов, то у асм-кода нет никаких шансов.

    Компилятор генерирует плохой код, когда не может побороть глупость программиста. :derisive:
     
  3. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Давайте сравним слона с бегемотом, а акулу с кашалотом!
     
  4. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    kaspersky
    эм.. я както слабо представляю себе алгоритм который "удобно" решать именно на ООП с RTTI
     
  5. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.564
    Адрес:
    Russia
    green
    О чем я и пытался создать.
    Я так понял, автор топика хочет, чтоб кто-то предоставил ему алгос с супероптимизацией на асме, а он пойдет хз куда к ЯВУ-шникам и будет бросать козыри, что именно _этот алгос_ ни один компилятор (в его случае gcc) не сделает быстрее.
    Иначе я просто непонимаю, в чем проблема у автора, ему уже насоветовали, что реализовать. Вперед, кто мешает?
     
  6. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    green
    Если под среднестатичестическим программером для асма ты понимаешь бегиннерса, который сам не знает чего хочет и вот забрёл асм поизучать, то ты прав в том смысле что таких "ассемблерщиков" действительно большинство и они не идут ни в какое сравнение с оптимизирующим компилятором ;))
    А к тем кто способен мыслить на асме (т.е. не переводить в уме мысли на Hilevel в асм код, а наоборот hilevel код строить на основе асм мыслей) то к таким людям понятие среднестатистический просто неприменимо ибо мало их катастрофически. Имхо акция ТС тем и актуальна, что может быть поможет кому-то из бегиннерсов не свернуть с правильного пути, а пополнить их ряды ;)
     
  7. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    GoldFinch
    ИМХО вопоос был не как удобно решать задачи, а чем затормозить компилятор. RTTI неплохой тормоз.
     
  8. green

    green New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2003
    Сообщения:
    1.217
    Адрес:
    Ukraine
    Хорошо помогает также создание искусственных зависимостей переменных, не позволяющих компилятору делать noalias-оптимизацию (т.е. держать переменные в регистрах, выносить из цикла "константный" код и т.п.).
     
  9. green

    green New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2003
    Сообщения:
    1.217
    Адрес:
    Ukraine
    Y_Mur
    Смотря что за путь. Если писать на чистом асме, презрев ЯВУ и компиляторы, то это - путь мазохиста. В реальном проекте 99.9% кода - простая рутина, где ты не сможешь существенно выиграть у компилятора даже теоретически. А вдобавок к куче потраченного времени получаешь практически немасштабируемый код.
     
  10. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    kaspersky
    код для С++ буду писать не я, мне же надо придумать хороший алгоритм
     
  11. Stiver

    Stiver Партизан дзена

    Публикаций:
    0
    Регистрация:
    18 дек 2004
    Сообщения:
    812
    Адрес:
    Germany
    В теме Задача о восьми Ферзях оптимировали алгоритм на скорость. Дубовый код MS VC6 проигрывал ручному ассемблерному всего около 25%. А если современный компилятор взять, то разрыв наверное и того меньше будет.
     
  12. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Вы хотите опустить gcc ниже уровня городской канализации? Это не так просто...

    Чтобы сделать это, надо иметь квалификацию не ниже той, что у создателя gcc.
    Желаю вам успехов в вашем безнадёжном предприятии :)
     
  13. AsmGuru62

    AsmGuru62 Member

    Публикаций:
    0
    Регистрация:
    12 сен 2002
    Сообщения:
    689
    Адрес:
    Toronto
    RTTI можно отключить и получить неплохой код.
     
  14. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    cresta
    Ничего подобного, ЯВУ есть ЯВУ, ассемблер есть ассемблер...
     
  15. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    kaspersky
    вот вот, я про это же!
    SadKo
    и про это же.
    TermoSINteZ
    и про это же.
     
  16. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    Самый тривиальный пример - это "переставить байты в 32разрядном числе из big-endian в little-endian и наоборот"
    обычный С++ программист напишет цикл, продвинутый C++ программист вызовет ws2_32.htonl, а я применю bswap.
    Но это действительно слишком просто и неинтересно.
     
  17. green

    green New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2003
    Сообщения:
    1.217
    Адрес:
    Ukraine
    GoldFinch
    А ещё более продвинутый вызовет (в случае gcc) __builtin_bswap32, которую компилятор заинлайнит как инструкцию bswap. :derisive:
     
  18. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    GoldFinch
    можно еще например позиция первого единичного бит слева или справа...
     
  19. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    GoldFinch
    интересно, а как "обычный ассемблер программист" напишет графический редактор или онлаен рпг?
     
  20. scf

    scf Member

    Публикаций:
    0
    Регистрация:
    12 сен 2005
    Сообщения:
    386
    Можно в WASM.A&O поискать топик, где народ соревнуется в написании самых быстрых реализаций
    Например, это:
    http://www.wasm.ru/forum/viewtopic.php?id=29920