Посмотреть вложение 234065
Запись и чтение из памяти - перформанс критический участок.
Ты можешь это оптимизировать.
Во-первых: Боксинг быстрее полного маршала, соответственно для простых типов ты можешь делать так:
Посмотреть вложение 234068
Во-вторых: В .Net6 есть удобные классы MemoryMarshal и Unsafe, используй их.
Во-третьих: Для лайнинга используй AggressiveInlining
При правильном использовании - это дает оптимизацию и в некоторых случая всего одну инструкцию при работе с типами:
Целый метод превратился в одну инструкцию lea
Посмотреть вложение 234069
Вопрос: нафиг эти костыли, если есть Process.NET? (Посмотри исходники, кстати, очень полезно)
P.S
Заклинаю тебя богами, хватит именовать классы Manager, Helper, Utlis и т.д. Эти общие слова означают, что твоя инкапсуляция в дерьме.