Evgeny
почему?
потому что без пруфов утверждать что это дорого такое себе
Evgeny
ну вот бенчмарков нет, по крайней мере здесь не представили. но вот в каких то версиях над производительностью defer работали и вроде как оно по стоимости не отличается от обычного вызова
Evgeny
за исключением некоторых случаев, типа девер в цикле
Evgeny
1.13
This release improves performance of most uses of defer by 30%.
1.14
This release improves the performance of most uses of defer to incur almost zero overhead compared to calling the deferred function directly. As a result, defer can now be used in performance-critical code without overhead concerns.
Michael
в плюсах разматывание стека исключения тоже не дешёвое занятие
поэтому команды бывают договариваются не использовать их
Michael
если у вас вызов одного дефёра и сразу выход из функции так никакого эффекта вы бы не заметили и на его кривых первых верясиях
Michael
в общем случае авторы говорят что при разумном подходе тратами на дефёр можно пренебречь
Michael
в качестве пруфов смотрите спеку языка
Evgeny
не надо отсылать в доку... приведите уже пруфы или или свой пример реального кейса где дефер был причиной плохой производительности
Michael
для бенчей вопрос остался открытым что вы хотите бренчить?
медленный дефёр? пример на коленке аж легко… тот же дефёр в цикле который есть в ваших цитатах проспать можно аж бигом
но есть способы написания кода где и такое вас не будет волновать
Michael
Michael
ничего личного, тольк Го
Vadik
к чему это все? у дефера есть овер тайм и он сколько то там миллисекнд, зачем это обсасывать?
Evgeny
Evgeny
Vadik
Emin Zalaev
Тем временем io к базе 2 секунды, а разрабы спорят использовать ли дефер ради перфоманса в пару мс…
Evgeny
Michael
Michael
Michael
достаточно много задач где ио оч в приоритете
Aleksandr
Michael
и нет бд
Evgeny
да в исходниках го такого много, но есть вероятность что большинство этих оптимизаций с тек версиях неактуальны...
Evgeny
но даже без оптимизаций в 1.14 я бы не стал отказываться от defer unlock... такой проще понимать и поддерживать
Emin Zalaev
Michael
лично я начинаю с истории в гите
Emin Zalaev
как же это смешно читать
Michael
Emin Zalaev
слабые разрабы, миша бы их реджекнул на ревью
Michael
90% веб приложений не могут ошибаться 🤣
Emin Zalaev
надо им ишшью накидать
"гошка медлинна работаит!!11!б аптимизируйти"
Michael
Emin Zalaev
не важно пруфоф не будет,первым делом мы проверяем дефер на перформанс
Emin Zalaev
времени мало нужно все деферы проверить
A
если деферы тормозят код, то ваше приложение слишком крутое для го
Michael
ну вот)
может за одно и копирование локов проверите
Michael
A
Emin Zalaev
разрабам с бородой можно доверять
Michael
с бородой и в свитере самое то
Axc
Evgeny
поиск в гугл показал, что в 1.14 стоимость defer уменьшилась с 30-40ns до единиц ns
вот еще статья попалась https://www.sobyte.net/post/2022-01/go-defer-principle/, глянул по диагонали, объясняется как оно внутри работает и в чем суть оптимизаций/ там же ограничения описаны
до сих пор не вижу смысла кидаться на дефер аки бык на красную тряпку
Michael
Егор
Простите, не могу понять, тут спор о том, что деферы лучше не использовать ?
Michael
Evgeny
прежде всего это про преждевременную оптимизацию
Michael
нужное подсветил
Michael
Michael
Evgeny
а есть кейсы реальной необходимости defer в цикле?
Michael
кто-то может захотеть слепить что-то вроде детерминированного деструктора и обернуть то всё анонимной функцией
Michael
а зачем оно кому такое надо это отдельный вопрос
Evgeny
ну то есть опять из разряда - доктор, когда я делаю вот так, мне больно
Axc
Michael
что тут скажешь
жизнь - боль
Evgeny
прочитал статью, ощущение что статья ради статьи
Michael
всегда есть повод дополнить материал
Evgeny
для кого?
Evgeny
в статье ценности для пользователей меньше чем вреда.
думал это корп блог, отус тот же подобным низкокачественным контентом страдает для привлечения внимания, но нет
Evgeny
а хотя да - "... крупнейший сайт для программистов"
Evgeny
кликбейт
Michael
ну да ну да зато это не мешает не читать и обсосать
Michael
или вы просто такие злые из-за того что вас туда на работу не взяли или на хабре забанили)
Null
#вакансия #vacancy #backend #go #golang #remote #удалённо
Вакансия: Golang разработчик
ЗП: от 200-300+тыс. руб. на руки (оформление по ТК РФ, либо ИП/СЗ)
Формат работы и занятость: Удалённо, фуллтайм
Локация: РФ, РБ
Всем привет!🔥 Я Милена, рекрутер аккредитованной IT-компании 2UP.
Мы находимся в поиске Golang разработчика для работы над новым продуктивити сервисом крупной технологической корпорации. Код пишется с нуля совместно с существующей группой разработчиков.
💫Задачи команды💫:
— Разработка Go-сервиса с высокой нагрузкой согласно бизнес-требованиям;
— Написание автотестов;
— Развертывание сервиса в существующем кластере k8s.
❇️Ожидаем от специалиста❇️:
— Опыт коммерческой разработки на Go - от 3 лет;
— Опыт разработки сетевых, серверных, многопоточных приложений;
— Опыт работы с БД;
Будет плюсом:
— Хорошее знание Linux, терминала и вспомогательных утилит (grep, awk);
— Владение любым скриптовым языком (Python/Lua);
— Опыт работы с высокой нагрузкой;
— Понимание kubernetes;
⭐Мы предлагаем⭐:
— Официальное оформление (есть возможность выбрать комфортный вариант для себя);
— Возможности для профессионального и карьерного роста;
— Расширенный соцпакет: ДМС, компенсация спорта, оплачиваемое обучение, компенсация на обустройство рабочего места;
— Возможность участвовать в конференциях, митапах, обучающих курсах;
— Работу с командой, где ваше мнение слышат и ценят, где дают обратную связь, поддержку, поле для реализации идей и ежедневную дозу юмора.
Буду рада ответить на все интересующие вопросы 🧑💻
📩Контакты для связи📩: @milamtt
Michael
если у вас вопрос к полноте материала, то это в редакторский отдел хабра вам
если вы всё знаете из материала, так только радоваться надо что вы всё знаете
Evgeny