Я ничего не понимаю в оптимизации кода, как оказалось

Поділитися
Вставка
  • Опубліковано 8 січ 2025
  • Я из тех программистов, кто считал себя достаточно грамотным в вопросах оптимизации кода для улучшения производительности программ. Как же я был неправ...
    4zm.org/2024/1...
    Выразить благодарность
    ko-fi.com/larc...
    boosty.to/larc...
    yoomoney.ru/to...
    BTC: 127J5x79L9bb7T4jiYJ2U7jHNDLXEx4kT3
    USDT (TRC20): TWRQit8o1JJGWjAph3DZFysygUxSwqiq9Q
    TON: UQBDiFGDTLpp1zWLefv0LnH9TbEeUIcPSoO5uDNwhzktKP33
    Теперь все мои выпуски в VK Видео i.mobila.name/jKB
    Как я стал программистом
    • КАК Я СТАЛ ПРОГРАММИСТОМ
    Как я переехал в Европу
    • Как я переехал в Европу
    Стрим: Карьера программиста
    • Карьера программиста: ...
    VPN, который я использую
    get.surfshark....
    ➡️ Сайт: i.mobila.name/xT
    ➡️ Instagram: i.mobila.name/yp
    ➡️ Twitter: i.mobila.name/Ua
    ➡️ Telegram: i.mobila.name/b7d
    👉🏻 Больше влогов здесь:
    #larchankavlog #larchanka
    👉🏻 Ежедневные влоги:
    #larchankadaily
    👉🏻 Чем я снимаю:
    ➡️ iPhone 14 Pro
    ➡️ Еще одна камера: DJi Osmo Action
    ➡️ Еще одна камера: Sony DSC-WX500
    Музыка:
    brevduva - bomull
    Radiance - Mizlo

КОМЕНТАРІ • 109

  • @_qaroom
    @_qaroom День тому +29

    Михаил открыл для себя Computer Sience!

    • @АлександрКоновалов-ш1н
      @АлександрКоновалов-ш1н День тому +4

      Ковыряние в компиляторе С имеет к Computer Sience крайне посредственное отношение

    • @_qaroom
      @_qaroom День тому +2

      @@АлександрКоновалов-ш1н Дело не в ковырянии компилятора, а в общем устройстве работы ПС.

    • @АлександрКоновалов-ш1н
      @АлександрКоновалов-ш1н День тому +2

      @@_qaroom что из упомянутого в видео имеет отношение к общему устройству работы PC?

  • @DreamingDolphing
    @DreamingDolphing День тому +59

    Это не оптимизация, это просто программисту делать нечего было. Хотел бы простоты - писал бы сразу на ассемблере, но для 99% программ в мире это на фиг не надо.

    • @sashagg485
      @sashagg485 День тому

      Не всегда асеблер самый быстрый язык. Если у языка есть JIT компиляция, как например в Java, то после «прогрева» приложения кусок кода, который часто вызывается будет закеширован и выполняться будет почти моментально
      А так да, это все по факту баловство )

    • @foobarspam8548
      @foobarspam8548 День тому

      ​@@sashagg485 а как кэширование этого куска кода может ускорить его выполнение?

    • @foobarspam8548
      @foobarspam8548 День тому

      ​@@sashagg485от того что код полежал в кэше, он начинает быстрее выполняться?

    • @kittengray9232
      @kittengray9232 22 години тому +3

      Он и написал на Ассемблере😅 только завернул его зачем-то в С

    • @hostra_sokira
      @hostra_sokira 15 годин тому

      Нас впереди ждёт скачек - интерпретаторы уйдут в прошлое, потому что так называемый ИИ будет сразу транслировать все в машинный код.

  • @areksei59
    @areksei59 День тому +14

    В самом начале забыл про пару ключевых вопросов: 1) что оптимизируем и 2) зачем оптимизируем. Сначала говорим про распределённый отказоустойчивый высоконагруженный веб сервис. Потом переходим к примеру оптимизации размера списка таблицы символов в скомпилированном бинарнике простейшей консольной программы. И какая между ними связь?)

  • @mightybobka
    @mightybobka День тому +26

    Поздравим же его! Он сделал непортируемое, небезопасное (плавающие адреса были не просто так) и крайне сложно поддерживаемое приложение.

  • @ИмяФамилия-э4ф7в
    @ИмяФамилия-э4ф7в День тому +34

    Хрестоматийный пример преждевременной оптимизации.

    • @Nexus7fm
      @Nexus7fm День тому

      Не бывает преждевременной оптимизации, бывает лень и раздолбайство, оптимизировать стоит всегда, на каждом шаге разработки, и думать, какие действия будут тормозить систему, а какие ускорят.

    • @ИмяФамилия-э4ф7в
      @ИмяФамилия-э4ф7в День тому +4

      @Nexus7fm нет. Нужно тратить ресурсы с умом. Время программиста - это ресурс. Если бездумно тратить время на оптимизацию "hello world", то бизнес задаст справедливый вопрос "за что мы платим деньги". Безусловно, хорошо знать и уметь в оптимизацию, но применять ее только там, где она нужна, и, в идеале, согласовывать с тем, кто платит деньги. Описать ему сколько будет стоить оптимизация и что она даст.

    • @НоунеймНофамов
      @НоунеймНофамов День тому

      @@ИмяФамилия-э4ф7в В идеальной среде -да. В реальности переключение между оптимизированным кодом и не оптимизированным сложно. Если человек не практикует в скорость исполнения, а пишет читаемый код (что бывает, не менее важно) въехать сходу в новый параметр не получиться. Если вы практикуете и то и то, то скорее всего у Вас или 2 работы или фриланс, я имею ввиду, что это всё не просто. Если у Вас есть хорошее ТЗ согласовывать ничего не надо, такие параметры описаны, включая потребление памяти, нагрузка и т.д.

    • @woodzimierz9621
      @woodzimierz9621 День тому +1

      @@Nexus7fm оптимизировать нужно тогда и только тогда, когда возникшие тормоза реально затрудняют работу. Оптимизировать нужно те и только те места которые в данном конкретном случае вызывают критические задержки. При условии, что железо сейчас дешевле времени разработчиков оптимизировать нужно тогда и только тогда, когда аппаратными средствами решить проблему не удается. Во всех остальных случаях бизнес вас, мягко говоря, не поймет.

    • @Nexus7fm
      @Nexus7fm День тому

      @@ИмяФамилия-э4ф7в да, и именно потому, что мне платят за качественный код, а он изначально должен быть оптимизирован, ещё до того, как из головы попадёт в исходники. И естественно, я знаю когда остановиться в полировке кирпичей и запуске бенчмарков. Мой пойнт в том, что оптимизация - это неотъемлемая часть процесса разработки, как модульное тестирование и следование обрядам типа SOlID. Любая пост-оптимизация может вообще не случиться и пользователи будут иметь, что мы все имеем.

  • @RR-sb8tm
    @RR-sb8tm День тому +10

    Я ему раз оптимизировал, а он не понимает.
    Я ему два оптимизировал, а он не понимает.

    • @antikarch
      @antikarch День тому +1

      Я не понимаааю 🙄😑😥

  • @lagmaker
    @lagmaker День тому +3

    Автор никогда не проваливался в unistd из stdio 👏👏

  • @foxes_pak
    @foxes_pak День тому +13

    Демосцена затихла и теперь творчество 80-x вылазит такими вот первооткрывателями. Никогда такого не было и вот опять.

  • @SlothHuntOnYou
    @SlothHuntOnYou 21 годину тому +1

    5:44 давайте не будем производить мусор, а будем чинить=(
    а какую кофе машину вообще лучше купить?

  • @dimalegendarypro
    @dimalegendarypro 23 години тому +1

    Программисту просто было скучно. Как backend-разработчик, скажу, что оптимизация идёт не через hardware. Hardware - слишком сильная абстракция, чтобы пытаться её оптимизировать. В действительности, если проект требует высокую производительность, то используют инструменты типа Redis.

  • @circuitcraftlab
    @circuitcraftlab День тому +1

    Молоко в холодильнике надо хранить😂

  • @Tunec_s_hlebom
    @Tunec_s_hlebom 21 годину тому +1

    Я тоже выкидываю кофемашину каждый раз после использования, а то она начинает вонять кофем)

  • @РодионГаврилов-ч9ж

    Вот сразу видно кому делать нечего, у кого нет проблем с жильем, эмиграцией, работой и тд))))

  • @anatolykosychenko8038
    @anatolykosychenko8038 День тому +1

    Hi Ya & best wishes. Thanks for work. Be Happy. Sevastopol/Crimea.

  • @alexzk3
    @alexzk3 День тому +3

    Вы не хотите вырубать PIE, если только не для ардуино :)) Это режим, как писали, например, для Спектрумов и/или мс дос ком файлы. Это ад аццкий, так писать.

  • @philatow
    @philatow День тому +6

    ролик годовой давности - 7 января 2024 года )))

  • @Димитрий-ч4ф
    @Димитрий-ч4ф День тому +1

    А что мешает ассемблер применять, когда нужна максимально возможная оптимизация?

  • @tolb1517
    @tolb1517 День тому +1

    Чувак не правильно оптимизировал программу, ему надо было её сразу на ассемблере переписать.

  • @userf155
    @userf155 День тому +3

    Если этот самый Андерс найдёт для себя то, что мне требуется форматный вывод, а не просто быстрый вывод, да ещё и из разных потоков, то он опять со своей оптимизацией напишет старый добрый printf из стандартной либы. Шёл 2025-ый год, мы всё ещё пытаемся оптимизировать функцию printf из фильма "Муха" 1986 года. (сама функция была написана в 1960-ых)

  • @VasylynaSkyba
    @VasylynaSkyba День тому +1

    Если молоко, которое должно быть по-идее скисшим действительно плохо воняет, то это молоко из пальмового жира. Поменяйте марку молока).

    • @mastnova2676
      @mastnova2676 6 годин тому

      в европе другого нет, бедолаги...

    • @VasylynaSkyba
      @VasylynaSkyba 5 годин тому

      Я в Европе живу). Есть, ну пока во всяком случае.

  • @dmitriy4415
    @dmitriy4415 День тому +2

    Так номера системных вызовов разные. Хардкодя ассемблером, мы ограничиваем себя конкретной ОС.

    • @dominuspiritus
      @dominuspiritus День тому

      Там можно через препроцессор выбирать, какой код под какую ОС будет компилироваться и запускаться в последствии.

  • @evgenasd8892
    @evgenasd8892 23 години тому

    Михаил, считаете ли вы, что производительность, и ресурсность приложения по памяти, важнее, чем удобо-читаемый и удобо-сопровождаемый код приложения, даже если оно чуть медленнее чем оптимизированная версия ?

  • @PsevdonimAndreyaVladimirovicha

    @Миша Ларченко
    Кстати, каким креслом вы пользуетесь? Для геймеров или каким-то иным? А то я тут недавно увидел достаточно толковое видео про то, что подобные навороченные и дорогие кресла не такие уж и хорошие. Название - "Почему вся индустрия игровых кресел это тотальный скам?".

  • @MyOpenCANLab
    @MyOpenCANLab День тому +1

    S0ER в одном из своих видео хорошо объясняет что там творится до main()

  • @ИгорьЕ-й9э
    @ИгорьЕ-й9э День тому +2

    Да кому нужна такая наносекундная оптимизация при нынешнем железе?

  • @narada314
    @narada314 День тому

    Кто понял меньше половины из этого видео рекомендую курс на Udemy - Developing a multithreaded kernel from scratch !
    Надо было Деду Морозу заказывать кофе машину.

  • @sergeishu7683
    @sergeishu7683 5 годин тому

    Кофемашина разбирается )

  • @Man-si9xf
    @Man-si9xf День тому +1

    Оптимизация нужно где там ограниченные вычислительные ресурсы.

  • @БоряДикий
    @БоряДикий День тому

    Ролик настоялся, можно смотреть

  • @maudau-bz7dl
    @maudau-bz7dl День тому

    Техлид 100к+/год открыл для себя что код компилируется в набор какого-то непонятного текста!

  • @Vladimir0x29A
    @Vladimir0x29A День тому

    Насчёт кофемашины. Как насчёт разобрать, почистить, помыть прибор, и собрать обратно?

  • @alexmartinov6914
    @alexmartinov6914 22 години тому

    С таким подходом программы будут писаться вечность. Лучшее медленное но существующее преложение чем бысторе но не доделоное сами знаете что 😆

  • @tirsky
    @tirsky День тому

    Может быть, разобрать и почистить или пропустить через нее пару таблеток для чистки машины?) Заняться настоящей оптимизацией:)

  • @Akopov4
    @Akopov4 День тому +1

    Не давно, в одной статье упоминалось про мобильное. банковское приложение, кажется итальянское, которое занимало 700мб. Там за это получили "в хвост и в гриву". Сказали оптимизировать

    • @kittengray9232
      @kittengray9232 22 години тому +1

      Про другой банк мне рассказывали, там была политика НЕ МЕНЯТЬ существующий код! Никаких рефакторингов, Только добавлять. Весь репозиторий из тонн копипасты состоял.

  • @AlexeyAdoniev
    @AlexeyAdoniev День тому

    Каждый веб разработчик хоть раз в жизни хотчет копнуть поглубже, но понимает, что там канализационные трубы и лучше закопать и не трогать

  • @MECHANISMUS
    @MECHANISMUS День тому

    Почему бы и нет. Просто, задача на понимание. На CSS же рисуют мультики, хотя оно нахер не надо.

  • @Dimontius1
    @Dimontius1 День тому

    Кавоварку шкода... може можна її відремонтувати?

    • @dashakoval3534
      @dashakoval3534 День тому +1

      поводу купить новую маленькую для эспрессо) ее то можно починить, но это будет стоимость новой)))

  • @sslavaa
    @sslavaa День тому

    Кофемашину обработать парогенератором, а молоко в холодильнике надо хранить. Инфантилизм просто какой-то.

  • @anatolykosychenko8038
    @anatolykosychenko8038 День тому

    Shalom

  • @bobomurod
    @bobomurod День тому

    Расскажи как нибудь про недостатки новой машины

  • @hostra_sokira
    @hostra_sokira 15 годин тому

    Конда ИИ сможет весь код, все системы, все приложения переписать сразу в магинный код, вы кдивитесь,но пндроид зарустится и бкдет летать даже на калькуляторе, а современные смартфоны превратятся в суперкомпьютеры

  • @deathwingdeath8060
    @deathwingdeath8060 День тому

    Плохой пример, можно еще лучше оптимизировать, напрямую посылать 0 и 1 CPU. Хотя нет, тоже не очень, так как в CPU находятся еще куча компонентов, по типу разного кеша, очередей, контроллеров и т д. В таком случае будем напрямую посылать транзисторам сигналы, вот это оптимизация

  • @radulohmatov7890
    @radulohmatov7890 11 годин тому

    а еще Кейси доказал, что эти ваши ооп, солид и прочие дизайн паттерны надо выкинуть на помойку ибо они жутко убивают производительность программ

  • @v.demchenko
    @v.demchenko День тому

    Динамик закрыл рукой🎉

  • @НиколаНидвора-п8и
    @НиколаНидвора-п8и День тому +1

    кады для микроконтроллеров пишешь типа ардуиновских где каждый байт на счету подобные заморочки оправданны, для больших проектов с множеством слоев виртуализации такой подход бесконечный геморой 🤭

  • @nurmukhammadxxx5046
    @nurmukhammadxxx5046 День тому +5

    А чё толку то от этих столь глубоких знаний. Тогда когда бизнесу надо что то быстренько запилить "на коленке" и подешевше.

    • @АлександрМамзиков-х1у
      @АлександрМамзиков-х1у День тому

      Такая оптимизация нужна в некоторых специфичных областях.

    • @basisdas4597
      @basisdas4597 День тому

      Для меня, как для эмбеддера, это нифига не сюрприз. А на больших программах с большими объемами данных такие оптимизации нифига не дадут. Да и оптимизация оптимизации - рознь. Можно оптимизировать ведь и по памяти и по скорости исполнения.

    • @boycovclub
      @boycovclub День тому +1

      Чрезмерная оптимизация делает код не читаемым и не сопровождаемым

  • @dominuspiritus
    @dominuspiritus День тому

    Продолжай не понимать, ничего страшного, оно не надо.

  • @academyofnature
    @academyofnature День тому

    Храни молоко в холодильнике))

    • @dashakoval3534
      @dashakoval3534 День тому

      его не надо в холодильнике хранить

  • @ffunktor
    @ffunktor День тому +2

    JS'ер открывает прекрасный новый мир программирования за пределами своего привычного языка?)

  • @anatolykosychenko8038
    @anatolykosychenko8038 День тому

    👋🤜🤛🤝👏💥

  • @mikep541
    @mikep541 День тому +1

    Первый лайк с меня)

  • @rusmemes
    @rusmemes День тому

    7 января 25 года ващето, а не 24

  • @ValkRover
    @ValkRover День тому

    Ну, как бы Миша просто опыта в этих областях не имеет. Поигрался бы с компиляторами, вопросов бы не возникало.
    А там на самом деле интересно...

  • @twist8462
    @twist8462 День тому

    молоко убежало (

  • @СтасПеченских
    @СтасПеченских День тому

    Знаю уже давно? И что? Мне это никак не помогает найти работу. Хе-хе

  • @UCrEdstktTsLwcJR6dk6sMXw2
    @UCrEdstktTsLwcJR6dk6sMXw2 День тому

    Такая оптимизация редко нужна, и судя по тому что это С, явно чувак, со встроенными системами работает с лимитом ресурсов, это единственное где я последний раз видел таких трюкачей. Сам такими трюками ещё на ассемблере баловался, когда дату можно было хранить в коде, но это больше из области техноэротики, а на asm это даже технопорно. В больших проектах, такие трюкачи вызывают остановку проектов когда кому-то приходится пробраться через их код или добавить что-то.

  • @afrany-8186
    @afrany-8186 День тому

    Это не ерунда, ты чего! Сишный компилятор генерит код для инициализации Сишной стдлибы. Без нее никакой printf тебе не светит пока не напишешь его сам. Это не оптимизация - это плохое мышление. Пиши на ассемблере если хочется совсем мало кода

  • @bagzhansadvakassov1093
    @bagzhansadvakassov1093 День тому

    Бесполезно оптимизировать код. По факту компиляторы или виртуальные машины поменяют код много раз прежде чем он реально будет запускаться.

  • @3064709
    @3064709 День тому

    Программистов на JavaSript едва ли можно назвать программистом

    • @АнатолийКомин-ъ5ъ
      @АнатолийКомин-ъ5ъ День тому

      Почему?

    • @Ajax222able
      @Ajax222able День тому +1

      Воистину, а программистов на С и ассебмлере едва ли можно назвать человеком который трогал женщин хоть раз в жизни

    • @EugeneKrivenja
      @EugeneKrivenja 18 годин тому

      scripting != programming, авторов сценариев ведь в писатели тоже не берут 😉

  • @Nexus7fm
    @Nexus7fm День тому

    Как же эти вёб-разработчики со своим формошлёпством далеки от настоящих процессоров, операционок, их процессов и ассемблеров. Какие великие открытия они совершают, libc - это сложная не нужная штука, три раза ха 😂. Про запуск main() и C рантайм на первых занятиях по C рассказывают. И надо было скатиться до com-файлов под MS-DOS и вызовом одного программного прерывания вывода строки на экран, вот где оптимизация бесполезной хрени, которая ничего не делает.
    На самом деле оптимизация в софтостроении - это совсем другая тема, а не выкидывание рантайма, без которого что-то серьезное не построить.

    • @Ajax222able
      @Ajax222able День тому

      Как же эти сишники со своими байтами далеки от женского тепла

  • @Germesych_game
    @Germesych_game День тому

    поэтому я потиху ковыряю Rust для души.🤣 сидишь "hello world" балуешься и мир инженерии для себя открываешь.🤣
    С++ не хочу вспоминать, он отдает нафталином..

  • @АлександрМамзиков-х1у

    Почему молоко не в холодильнике?

    • @EdwardNorthwind
      @EdwardNorthwind День тому

      Потому что ультра пастеризованное молоко можно хранить при комнатной температуре

    • @АлександрМамзиков-х1у
      @АлександрМамзиков-х1у День тому

      @EdwardNorthwind а вот если бы оно утекло в холодильнике, было бы проще :)

    • @АнатолийКомин-ъ5ъ
      @АнатолийКомин-ъ5ъ День тому

      В холодильнике оно бы не лопнуло

  • @Man-si9xf
    @Man-si9xf День тому

    Оптимизация кода не нужен. И так сойдет. Задача решена? И все.