Вопрос про стэк и таблицу строк

Тема в разделе "WASM.BEGINNERS", создана пользователем Antolflash, 18 янв 2010.

  1. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    green
    У меня тут в NT единственная задача требующая оптимизации это файловый поиск и ISR. Осьальное не нуждаетсявоптимизацуии/неможетбытьоптимизировано. Файловый поиск также - значительно ускорить нельзя без смены железа. Вы не докажите мне что скорость потока не зависит от положения головки на жёстком диске. Упёрлись в одно, ну просто ппц какойто.. ну [не важна, хотел сказать Clerk ;) ] оптимизация в NT. Для некоторых задач она важна, но таких одна из тысяч.
     
  2. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.625
    Адрес:
    Russia
    вы мне одно скажите - заменять пуши на subы и movы ??? или все таки оставить старые добрые пушы
     
  3. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.625
    Адрес:
    Russia
    имхо сложные инструкции должны выполнятся не медленнее чем аналогичная последовательность примитивных команд - примеры обратного - косяки разработчиков
     
  4. green

    green New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2003
    Сообщения:
    1.217
    Адрес:
    Ukraine
    Clerk
    Мы говорим о влиянии оптимизации на скорость выполнения кода, подвергнутого этой оптимизации. Конечно, если код в основном состоит из вызовов АПИ, то оптимизации на уровне инструкций он практически не поддаётся, код потока в этом случае - это в основном код ОС, а не наш. Это как раз характерно для системного софта.

    Но есть множество задач анализа/преобразования данных (например, архивация, обработка изображений, звука, видео, криптография, компиляция, скрипт движки, ...), код которых незначительно разбавлен системными вызовами. Здесь оптимизация имеет решающее значение. Большинство серьёзных приложений содержат такой код.

    Хотя вы правы - в типичном приложении основная масса кода оптимизации слабо поддаётся, т.к. состоит в основном из АПИшных вызовов.
     
  5. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    Rockphorr
    К сожалению, это не так. Intel рекомендует использовать как раз примитивные. Кто не верит, может сравнить скорость работы loop с sub+jnz или movs с аналогичным циклом на mov-ах. Косяки или не косяки, но с этим приходится считаться.
     
  6. Dukales

    Dukales New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2009
    Сообщения:
    199
    Clerk
    вы довольно чётко следуете http://lurkmore.ru/%D0%94%D0%B5%D0%BC%D0%B0%D0%B3%D0%BE%D0%B3%D0%B8%D1%8F
    вы продемонстрировали упорство. но cppasm уже вам всё по полочкам разложил. вы выглядите глупо, извините.
     
  7. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Rockphorr
    Зависит от того, насколько хорошо сложная инструкция реализована в процессоре. В теории -- да, одна сложная инструкция выполнится быстрее, чем аналогичная по функционалу группа простых (хотя бы из-за необходимости выборки и декодирования нескольких команд, а не одной), ну а на практике... По-разному бывает. Например, инструкции SSE точно быстрее, чем их аналоги, созданные из команд общего назначения. А вот LOOP, насколько я знаю, медленнее, чем пара команд декремента и условного перехода.
     
  8. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Dukales
    Ты видимо только недавно осознал как замеры исполнять http://www.wasm.ru/forum/viewtopic.php?id=35981 ?
    Вот и думай почему для быстрой однократной операции нет смысла замеры выполнять. Когда откроешь для себя шедулер приходи [​IMG]