Size: a a a

2019 December 27

m

many-faced in Go-go!
Daniel Podolsky
компилятору
А куда компилятор забирает данные со стека в конце работы функции?
источник

DP

Daniel Podolsky in Go-go!
компилятор размещает там перенные
источник

ЕО

Евгений Омельченко in Go-go!
Вникуда, двигает указатель просто
источник

m

many-faced in Go-go!
Евгений Омельченко
В момент окончания работы функции. Но это неважно, Вы понимаете, что было бы, если бы вы передали в сигнатуру функции с двумями интами, функцию, которая принимает один?
в случае несоответствия сигнатур будет ошибка компиляции
источник

ЕО

Евгений Омельченко in Go-go!
n байт аргументов положили -- код выполнился -- n байт сняли, положили k байт возвраьа
источник

m

many-faced in Go-go!
Daniel Podolsky
коллега, много - это сколько? в байтах, и в процентах?
Вопрос правильный, пока на этапе проектирования сложно ответить, просто не хотелось бы попаст ьв такую ситуацию
источник

ЕО

Евгений Омельченко in Go-go!
many-faced
Вопрос правильный, пока на этапе проектирования сложно ответить, просто не хотелось бы попаст ьв такую ситуацию
Этот антишаблон проектирования называется "преждевременная оптимизация"
источник

ЕО

Евгений Омельченко in Go-go!
Если вы уткнётесь тут в проблему, то несложно будет переписать это место так, чтобы оно потребляло меньше памяти
источник

m

many-faced in Go-go!
верно. С другой стороны, не хотелось бы в сложном проекте с большим потреблением памяти ковыряться, что именно её потребляет (особенно, если заранее есть понимание, что размещение происходит).
источник

DM

Dmitry M in Go-go!
many-faced
ребят подскажите такой вопрос. У меня есть функция, я хочу расширить её сигнатуру чтобы она соответствовала такой сигнатуре, которая требуется для передачи в другую функцию. Но, дополнительный аргумент не будет использоваться внутри самой функции и он нужен только ради самой сигнатуры. Насколько оптимально так делать - добавить аргумент и замьютить его в сигнатуре? Передаётся, например в функцию этот аргумент данные неким размером, а он мьютится, гошка это оптимизирует как-то?
Посмотри ассемблерный код.  Я бы проверял на инлайнинг https://www.youtube.com/watch?v=jTJ5QVofn_I
источник

m

many-faced in Go-go!
Спасибо, ассемблер не мой профиль =)
источник

ЕО

Евгений Омельченко in Go-go!
many-faced
Спасибо, ассемблер не мой профиль =)
Тогда зачем вы пытаетесь делать то, что не ваш профиль?
источник

Z

Zver in Go-go!
Ну сожрет со стека 8 байт. Беда то какая.
источник

V

Vabka in Go-go!
А когда в последний раз был срач про женерики и паттерн матчинг?)
источник

ES

Eugenii Sh in Go-go!
Vabka
А когда в последний раз был срач про женерики и паттерн матчинг?)
пятница провоцирует?
источник

V

Vabka in Go-go!
Eugenii Sh
пятница провоцирует?
Эх. А вот раньше бы половина чата сказала бы что женерики не нужны и кодоген збс
источник

ES

Eugenii Sh in Go-go!
дык новый год же, голова другим занята
источник

DP

Daniel Podolsky in Go-go!
many-faced
верно. С другой стороны, не хотелось бы в сложном проекте с большим потреблением памяти ковыряться, что именно её потребляет (особенно, если заранее есть понимание, что размещение происходит).
А как вы собираетесь этого избежать? С помощью необоснованных предположений?
источник

AP

Alexey Palazhchenko in Go-go!
С самого начала стоит добавить метрики и ручки для pprof
источник

AP

Alexey Palazhchenko in Go-go!
А потом уже в работе смотреть, сравнивая с прошлыми показателями
источник