стэке, интересно в .нет есть такая оптима?
В каких?
Когда рантайм видит что ссылки на созданный объект не уходят за пределы скоупа
Он делает это от бедности😁 там нет структур
Но кмк было бы полезно и референс объекты на стэке размещать автоматом когда это допустимо
Было бы неплохо, но недостаточно эффективно
Наверняка Егор @EgorBo уже про это думал )..
Там же надо будет ещё помимо этого делать анализ стека, как глубоко уже и так далее. Такими "оптимизациями" же легко SO получить. Нет разве? Просто так "бесплатно" не получится положить в стек вместо хипа.
Можно ограничить размер объектов которые так можно
Ну тогда на объект определенные ограничения тоже должны быть - все его поля должны быть unmanaged или что-то подобное. Тогда можно запромоутить в структуру. Наверное.
Для мелких туплей в фарше которыми манипулируется в рамках функции (бывает что они неявно создаются) было бы полезно наверно?
Да, вполне, мы не всегда их явно кстати создаём. При дестракте часто оптимизируем в обычные биндинге на стеке.
А мог бы рантайм делать!
Но если серьезно, то я уже много раз смотрел на рантайм и как бы законтрибьютить туда. Но потом вспоминал что у меня беклог из миллиона тасок и откладывал.
Сейчас надеюсь (команда вроде расширились?) будет кому помочь тасками)
Обсуждают сегодня