как скопировать массив char в окно без искажений? (русский шрифт)

Тема в разделе "WASM.BEGINNERS", создана пользователем amvoz, 8 фев 2012.

  1. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    _DEN_
    Именно об этом я и говорю и просто подчеркиваю, что основная причина именно в этом, а не в константности\не-константности строки
    Это для тебя лол, а "современный оптимизирующий компилятор" должен знать, что чрезмерное раздувание\дублирование кода, особенно "кишащего" условными переходами, ни к чему хорошему в плане оптимизации не приведет. ОЗУ-то может и "резиновое", а пропускная способность шины, размеры кэшей и буфера предсказателя переходов - увы. Как ни крути, а функции придуманы именно для многократного использования одного куска кода и не только на уровне исходников, но и на уровне маш.кода в рантайме. Поэтому инлайнить имеет смысл только сравнительно простые и достаточно быстрые функции, чтобы сэкономить время на вызовах call\ret. А инлайнить нетривиальную реализацию strlen при неизвестной длине строки вообще смысла нет, т.к. она в среднем может выполняться значительно дольше "мелочной экономии" на вызове функции.
     
  2. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    leo
    Конечно лол, ведь надо быть полным идиотом, чтобы заюзать непосредственный вызов strlen столько раз, чтобы это сказалось на перфомансе из-за раздувания кода.
     
  3. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Слава богу, разработчики "современных оптимизирующих компиляторов" руководствуются не твоими и не моими наивными измышлизмами, а конкретными рекоменадциями Intel и AMD, изложенными в мануалах по оптимизации. И если у Intel, как водится, общие слова типа small functions, то у AMD четкая рекомендация инлайнить функции размером не более 25 команд, да и то в случае если они вызываются в одном месте (или по кр.мере из небольшого числа мест)
     
  4. iZzz32

    iZzz32 Sergey Sfeli

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    355
    del. пропустил пару сообщений
     
  5. Ezrah

    Ezrah Member

    Публикаций:
    0
    Регистрация:
    22 мар 2011
    Сообщения:
    411
    Я так и не понял, что за фокус был c unsigned char.