Я ничего не понимаю в оптимизации кода, как оказалось
Вставка
- Опубліковано 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
Михаил открыл для себя Computer Sience!
Ковыряние в компиляторе С имеет к Computer Sience крайне посредственное отношение
@@АлександрКоновалов-ш1н Дело не в ковырянии компилятора, а в общем устройстве работы ПС.
@@_qaroom что из упомянутого в видео имеет отношение к общему устройству работы PC?
Это не оптимизация, это просто программисту делать нечего было. Хотел бы простоты - писал бы сразу на ассемблере, но для 99% программ в мире это на фиг не надо.
Не всегда асеблер самый быстрый язык. Если у языка есть JIT компиляция, как например в Java, то после «прогрева» приложения кусок кода, который часто вызывается будет закеширован и выполняться будет почти моментально
А так да, это все по факту баловство )
@@sashagg485 а как кэширование этого куска кода может ускорить его выполнение?
@@sashagg485от того что код полежал в кэше, он начинает быстрее выполняться?
Он и написал на Ассемблере😅 только завернул его зачем-то в С
Нас впереди ждёт скачек - интерпретаторы уйдут в прошлое, потому что так называемый ИИ будет сразу транслировать все в машинный код.
В самом начале забыл про пару ключевых вопросов: 1) что оптимизируем и 2) зачем оптимизируем. Сначала говорим про распределённый отказоустойчивый высоконагруженный веб сервис. Потом переходим к примеру оптимизации размера списка таблицы символов в скомпилированном бинарнике простейшей консольной программы. И какая между ними связь?)
Поздравим же его! Он сделал непортируемое, небезопасное (плавающие адреса были не просто так) и крайне сложно поддерживаемое приложение.
Хрестоматийный пример преждевременной оптимизации.
Не бывает преждевременной оптимизации, бывает лень и раздолбайство, оптимизировать стоит всегда, на каждом шаге разработки, и думать, какие действия будут тормозить систему, а какие ускорят.
@Nexus7fm нет. Нужно тратить ресурсы с умом. Время программиста - это ресурс. Если бездумно тратить время на оптимизацию "hello world", то бизнес задаст справедливый вопрос "за что мы платим деньги". Безусловно, хорошо знать и уметь в оптимизацию, но применять ее только там, где она нужна, и, в идеале, согласовывать с тем, кто платит деньги. Описать ему сколько будет стоить оптимизация и что она даст.
@@ИмяФамилия-э4ф7в В идеальной среде -да. В реальности переключение между оптимизированным кодом и не оптимизированным сложно. Если человек не практикует в скорость исполнения, а пишет читаемый код (что бывает, не менее важно) въехать сходу в новый параметр не получиться. Если вы практикуете и то и то, то скорее всего у Вас или 2 работы или фриланс, я имею ввиду, что это всё не просто. Если у Вас есть хорошее ТЗ согласовывать ничего не надо, такие параметры описаны, включая потребление памяти, нагрузка и т.д.
@@Nexus7fm оптимизировать нужно тогда и только тогда, когда возникшие тормоза реально затрудняют работу. Оптимизировать нужно те и только те места которые в данном конкретном случае вызывают критические задержки. При условии, что железо сейчас дешевле времени разработчиков оптимизировать нужно тогда и только тогда, когда аппаратными средствами решить проблему не удается. Во всех остальных случаях бизнес вас, мягко говоря, не поймет.
@@ИмяФамилия-э4ф7в да, и именно потому, что мне платят за качественный код, а он изначально должен быть оптимизирован, ещё до того, как из головы попадёт в исходники. И естественно, я знаю когда остановиться в полировке кирпичей и запуске бенчмарков. Мой пойнт в том, что оптимизация - это неотъемлемая часть процесса разработки, как модульное тестирование и следование обрядам типа SOlID. Любая пост-оптимизация может вообще не случиться и пользователи будут иметь, что мы все имеем.
Я ему раз оптимизировал, а он не понимает.
Я ему два оптимизировал, а он не понимает.
Я не понимаааю 🙄😑😥
Автор никогда не проваливался в unistd из stdio 👏👏
Демосцена затихла и теперь творчество 80-x вылазит такими вот первооткрывателями. Никогда такого не было и вот опять.
5:44 давайте не будем производить мусор, а будем чинить=(
а какую кофе машину вообще лучше купить?
Программисту просто было скучно. Как backend-разработчик, скажу, что оптимизация идёт не через hardware. Hardware - слишком сильная абстракция, чтобы пытаться её оптимизировать. В действительности, если проект требует высокую производительность, то используют инструменты типа Redis.
Молоко в холодильнике надо хранить😂
Я тоже выкидываю кофемашину каждый раз после использования, а то она начинает вонять кофем)
Вот сразу видно кому делать нечего, у кого нет проблем с жильем, эмиграцией, работой и тд))))
Hi Ya & best wishes. Thanks for work. Be Happy. Sevastopol/Crimea.
Вы не хотите вырубать PIE, если только не для ардуино :)) Это режим, как писали, например, для Спектрумов и/или мс дос ком файлы. Это ад аццкий, так писать.
ролик годовой давности - 7 января 2024 года )))
А что мешает ассемблер применять, когда нужна максимально возможная оптимизация?
Чувак не правильно оптимизировал программу, ему надо было её сразу на ассемблере переписать.
Если этот самый Андерс найдёт для себя то, что мне требуется форматный вывод, а не просто быстрый вывод, да ещё и из разных потоков, то он опять со своей оптимизацией напишет старый добрый printf из стандартной либы. Шёл 2025-ый год, мы всё ещё пытаемся оптимизировать функцию printf из фильма "Муха" 1986 года. (сама функция была написана в 1960-ых)
Если молоко, которое должно быть по-идее скисшим действительно плохо воняет, то это молоко из пальмового жира. Поменяйте марку молока).
в европе другого нет, бедолаги...
Я в Европе живу). Есть, ну пока во всяком случае.
Так номера системных вызовов разные. Хардкодя ассемблером, мы ограничиваем себя конкретной ОС.
Там можно через препроцессор выбирать, какой код под какую ОС будет компилироваться и запускаться в последствии.
Михаил, считаете ли вы, что производительность, и ресурсность приложения по памяти, важнее, чем удобо-читаемый и удобо-сопровождаемый код приложения, даже если оно чуть медленнее чем оптимизированная версия ?
@Миша Ларченко
Кстати, каким креслом вы пользуетесь? Для геймеров или каким-то иным? А то я тут недавно увидел достаточно толковое видео про то, что подобные навороченные и дорогие кресла не такие уж и хорошие. Название - "Почему вся индустрия игровых кресел это тотальный скам?".
S0ER в одном из своих видео хорошо объясняет что там творится до main()
Да кому нужна такая наносекундная оптимизация при нынешнем железе?
Кто понял меньше половины из этого видео рекомендую курс на Udemy - Developing a multithreaded kernel from scratch !
Надо было Деду Морозу заказывать кофе машину.
Кофемашина разбирается )
Оптимизация нужно где там ограниченные вычислительные ресурсы.
Ролик настоялся, можно смотреть
Техлид 100к+/год открыл для себя что код компилируется в набор какого-то непонятного текста!
Насчёт кофемашины. Как насчёт разобрать, почистить, помыть прибор, и собрать обратно?
С таким подходом программы будут писаться вечность. Лучшее медленное но существующее преложение чем бысторе но не доделоное сами знаете что 😆
Может быть, разобрать и почистить или пропустить через нее пару таблеток для чистки машины?) Заняться настоящей оптимизацией:)
Не давно, в одной статье упоминалось про мобильное. банковское приложение, кажется итальянское, которое занимало 700мб. Там за это получили "в хвост и в гриву". Сказали оптимизировать
Про другой банк мне рассказывали, там была политика НЕ МЕНЯТЬ существующий код! Никаких рефакторингов, Только добавлять. Весь репозиторий из тонн копипасты состоял.
Каждый веб разработчик хоть раз в жизни хотчет копнуть поглубже, но понимает, что там канализационные трубы и лучше закопать и не трогать
Почему бы и нет. Просто, задача на понимание. На CSS же рисуют мультики, хотя оно нахер не надо.
Кавоварку шкода... може можна її відремонтувати?
поводу купить новую маленькую для эспрессо) ее то можно починить, но это будет стоимость новой)))
Кофемашину обработать парогенератором, а молоко в холодильнике надо хранить. Инфантилизм просто какой-то.
Shalom
Расскажи как нибудь про недостатки новой машины
Конда ИИ сможет весь код, все системы, все приложения переписать сразу в магинный код, вы кдивитесь,но пндроид зарустится и бкдет летать даже на калькуляторе, а современные смартфоны превратятся в суперкомпьютеры
Плохой пример, можно еще лучше оптимизировать, напрямую посылать 0 и 1 CPU. Хотя нет, тоже не очень, так как в CPU находятся еще куча компонентов, по типу разного кеша, очередей, контроллеров и т д. В таком случае будем напрямую посылать транзисторам сигналы, вот это оптимизация
а еще Кейси доказал, что эти ваши ооп, солид и прочие дизайн паттерны надо выкинуть на помойку ибо они жутко убивают производительность программ
Динамик закрыл рукой🎉
кады для микроконтроллеров пишешь типа ардуиновских где каждый байт на счету подобные заморочки оправданны, для больших проектов с множеством слоев виртуализации такой подход бесконечный геморой 🤭
А чё толку то от этих столь глубоких знаний. Тогда когда бизнесу надо что то быстренько запилить "на коленке" и подешевше.
Такая оптимизация нужна в некоторых специфичных областях.
Для меня, как для эмбеддера, это нифига не сюрприз. А на больших программах с большими объемами данных такие оптимизации нифига не дадут. Да и оптимизация оптимизации - рознь. Можно оптимизировать ведь и по памяти и по скорости исполнения.
Чрезмерная оптимизация делает код не читаемым и не сопровождаемым
Продолжай не понимать, ничего страшного, оно не надо.
Храни молоко в холодильнике))
его не надо в холодильнике хранить
JS'ер открывает прекрасный новый мир программирования за пределами своего привычного языка?)
👋🤜🤛🤝👏💥
Первый лайк с меня)
7 января 25 года ващето, а не 24
Ну, как бы Миша просто опыта в этих областях не имеет. Поигрался бы с компиляторами, вопросов бы не возникало.
А там на самом деле интересно...
молоко убежало (
Знаю уже давно? И что? Мне это никак не помогает найти работу. Хе-хе
Такая оптимизация редко нужна, и судя по тому что это С, явно чувак, со встроенными системами работает с лимитом ресурсов, это единственное где я последний раз видел таких трюкачей. Сам такими трюками ещё на ассемблере баловался, когда дату можно было хранить в коде, но это больше из области техноэротики, а на asm это даже технопорно. В больших проектах, такие трюкачи вызывают остановку проектов когда кому-то приходится пробраться через их код или добавить что-то.
Это не ерунда, ты чего! Сишный компилятор генерит код для инициализации Сишной стдлибы. Без нее никакой printf тебе не светит пока не напишешь его сам. Это не оптимизация - это плохое мышление. Пиши на ассемблере если хочется совсем мало кода
Бесполезно оптимизировать код. По факту компиляторы или виртуальные машины поменяют код много раз прежде чем он реально будет запускаться.
Программистов на JavaSript едва ли можно назвать программистом
Почему?
Воистину, а программистов на С и ассебмлере едва ли можно назвать человеком который трогал женщин хоть раз в жизни
scripting != programming, авторов сценариев ведь в писатели тоже не берут 😉
Как же эти вёб-разработчики со своим формошлёпством далеки от настоящих процессоров, операционок, их процессов и ассемблеров. Какие великие открытия они совершают, libc - это сложная не нужная штука, три раза ха 😂. Про запуск main() и C рантайм на первых занятиях по C рассказывают. И надо было скатиться до com-файлов под MS-DOS и вызовом одного программного прерывания вывода строки на экран, вот где оптимизация бесполезной хрени, которая ничего не делает.
На самом деле оптимизация в софтостроении - это совсем другая тема, а не выкидывание рантайма, без которого что-то серьезное не построить.
Как же эти сишники со своими байтами далеки от женского тепла
поэтому я потиху ковыряю Rust для души.🤣 сидишь "hello world" балуешься и мир инженерии для себя открываешь.🤣
С++ не хочу вспоминать, он отдает нафталином..
Почему молоко не в холодильнике?
Потому что ультра пастеризованное молоко можно хранить при комнатной температуре
@EdwardNorthwind а вот если бы оно утекло в холодильнике, было бы проще :)
В холодильнике оно бы не лопнуло
Оптимизация кода не нужен. И так сойдет. Задача решена? И все.