Во-первых, почему N здесь уместно? миграция может происходить в конкретном блоке, и ограничение должно соответствовать его времени внутри блока.
Для этого я бы порекомендовал провести некоторый микро-бенчмаркинг (в WASM) и получить оценку того, сколько каждая операция стоит. Поместите это рядом с желаемым временем блока, и у вас должно быть хорошее число. Я бы также уменьшил это, чтобы быть безопасным.
Обратите внимание, что тип переноса данных имеет значение здесь; Если вы храните значения, это довольно просто, и я предполагаю, что у вас все будет хорошо, поскольку узкое место, вероятно, декодирует, а не хэширует. Если ваше значение (скажем, большое ve c) уже настолько велико, что его нельзя прочитать + записать один раз в блоке, тогда у вас гораздо большие проблемы. С картами вы должны принять во внимание, что вы будете выполнять больше проверок состояния, поэтому весь процесс отличается.