Если не использовать отдельный метод @do, а напрямую передавать в $data_[^field.init[$data]]
то расход памяти падает с 8 МБ до 4 МБ.
Странно что на итерацию не хватает памяти под параметры и локальные переменные и требуется аллоцировать еще память. Или я что-то не так понимаю с этим расходом?