Если я не ошибаюсь, судя по этому milestone , уходом в heap у дженериков хотят занятся в версии go 1.20
Потому что не влезла в стек
Не совсем, все дело в "indirection assignment". Я думаю вам проще будет загуглить и почитать, как часто его совершают и почитать почему компилятор себя так ведет. Что по поводу размера переменных, можно посмотреть вот здесь
К сожалению, я могу говорить только за операционную систему Linux, и насколько я помню, физическая память возрастет только в том случае, если, мы словим при обращении к памяти page fault. Кстати, это можно проверить с помощью команды ps ux -p Выполнив эту команду обратите внимание на VSZ и RSS :)
Прекрасная статья! Спасибо за ваш референс :)
Увы, доклад, из за мер антиковида, был ограничен по времени в 30 минут. Поэтому, я потом старался рассказать на стенде Авито :)
Вам спасибо, что прочитали :)
Если я не ошибаюсь, судя по этому milestone , уходом в heap у дженериков хотят занятся в версии go 1.20
Не совсем, все дело в "indirection assignment". Я думаю вам проще будет загуглить и почитать, как часто его совершают и почитать почему компилятор себя так ведет. Что по поводу размера переменных, можно посмотреть вот здесь
К сожалению, я могу говорить только за операционную систему Linux, и насколько я помню, физическая память возрастет только в том случае, если, мы словим при обращении к памяти page fault.
Кстати, это можно проверить с помощью команды ps ux -p
Выполнив эту команду обратите внимание на VSZ и RSS :)
Если я правильно понял ваш вопрос, то в случае с пулами(mspan) аллокатор не выделяет, а размечает в уже выделенной заранее области памяти :)
Да, но не забывайте, что это виртуальная память, а не физическая :)
Поправил, спасибо большое!