Ускорение алгоритма

Тема в разделе "WASM.BEGINNERS", создана пользователем galenkane, 27 фев 2021.

  1. X-Shar

    X-Shar Active Member

    Публикаций:
    0
    Регистрация:
    24 фев 2017
    Сообщения:
    354
    Ну-блин, давайте реально подходить к делу, зря наверное пишу...

    Ну вот где реально нужен этот Си и ассемблер ?

    - Системная разработка:
    Много-ли работы по данной области, да она есть, но такой мизер, по сравнению с другими направлениями, да и-то там нужны также знания С++, питон и дохрена всего ещё.)

    - Малварная разработка:
    Блин ну хз. Много также на С++ пишут, также ещё даже больше на всяких-там C#, PowerShell и прочее...

    Поэтому Си, мне кажется такое себе, если вы конечно позиционируете себя каким-то очень низкоуровневым спецом, то может-быть, но в РФ это мало где нужно по факту.)

    Про ассемблер, ещё меньше где нужно, опять-да системная разработка, железячный уровень и реверс.
    Всё-это очень мало где востребовано по факту.:dntknw:
     
  2. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    Ну я уже говорил об этом, но еще раз. В глобальном плане (не в головах спецов, а в реальной жизни) есть всего два типа задач cpu-bound и io-bound. Для io-bound задач подойдет любой язык, способный проводить асинхронный ввод/вывод, скажем Python или Elixir будет популярным выбором. Для cpu-bound задач желателен нативный язык (сишечка, плюсы, раст или ним), или язык с хорошим JIT-компилятором (JVM или CLR языки например или новомодная Julia). Язык - это инструмент, адекватный человек выбирает тот язык, который лучше подходит для решения проблемы. И во многих ситуациях время разработки и время отладки является более ценным ресурсом, чем память или скорость исполнения. И в этом нет ничего плохого, потребитель с большей охотой выберет софт, который будет работать чуть медленнее, но будет предоставлен ему быстрее и не будет падать из-за утечек памяти, юз афтер фри и других проблем. В частности поэтому наши васмовские спецы черствые булки без соли и доедают.
     
    Мановар нравится это.
  3. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.348
    Ты ж только не вздумай ненароком приводить здесь нормальную реализацию на плюсах. Во-первых, за это тут не заплатят, во-вторых, не раструбят о тебе во всех тиктоках и в-третьих, в нормальной реализации на плюсах приемлемая скорость будет достигнута только выкидыванием из нее всего плюсового. Вот позорище-то будет :)
     
    UbIvItS нравится это.
  4. X-Shar

    X-Shar Active Member

    Публикаций:
    0
    Регистрация:
    24 фев 2017
    Сообщения:
    354
    Ща Инде прийдет и всех вздрючит реализацией на ассемблере, максимально быстрый код....)))

    Хотя может и не вздрючит, не факт что напишет лучше Си.
     
  5. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.348
    X-Shar,
    Код на сишечке, кстате, совсем даже не оптимизирован. Это обычное решение "в лоб" уровня лабы первокурсника. И даже в таком виде оно уделывает модные прогрессивные в десятки раз. Разумному человеку тут сразу станет очевидна достоверность синтетически тестов, на которых петон в первую десятку с сишечкой попадает :)
     
  6. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    Нет, не вздрючит, он даже не знал разницу между аверским эмулем и виртуальной машиной, "такой позор" (с).
     
  7. RETN

    RETN Member

    Публикаций:
    4
    Регистрация:
    4 апр 2020
    Сообщения:
    74
    Вообще может Intel parallel studio заюзать? не? ) Я как раз тренируюсь, давно профайлеры и прочее не юзал...
    Когда то давно VX - Tune использовал для белого софта с расчётами, щас чутка все поменялось... Осваиваю.
     
  8. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    X-Shar,

    Оптимизация даёт эффект не на уровне инструкций обычно, а на системном уровне. К примеру используется какой то пайп вместо простого быстрого синхрона на системных примитивах - профайл упадёт на десятки сотни порядков и не важно на каком яп это собрано. Или например используется какая то апи гуя для обмена данными, вместо нэйтив обмена - это архитектурный косяк разраба, который создаёт тормоза.

    Вылизывать машкод на уровне инструкций обычно смысла не имеет, тоесть для обычных апп, где нет непрерывных циклов с основной нагрузкой на железо.
     
    X-Shar нравится это.
  9. RETN

    RETN Member

    Публикаций:
    4
    Регистрация:
    4 апр 2020
    Сообщения:
    74
    Indy_, да, любой выполз в ядро вызывает тормоза , про пайпы (индусские поделки с которыми M$ Сам никак не разберется) я вообще молчу..
    Вот как раз про циклы и мат вычисления я и имел ввиду.
     
  10. galenkane

    galenkane Active Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    301
    под виртой и быстро
     
  11. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    это значит винданавозный компиль пихает очень много дряни в бинарь == попробуй собирать либо с другими ключами, либо другой компиль возьми (интел, мингв).
     
  12. galenkane

    galenkane Active Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    301
    задача решена