Я бы хотел получить byte[]
из float[]
как можно быстрее, без зацикливания всего массива (возможно, с помощью приведения). Небезопасный код - это хорошо. Спасибо!
Я ищу байтовый массив в 4 раза длиннее, чем массив float (размер байтового массива будет в 4 раза больше размера массива float, поскольку каждый float состоит из 4 байтов). Я передам это BinaryWriter.
EDIT :
Критики кричат о «преждевременной оптимизации»:
Я проверил это с помощью профилировщика ANTS, прежде чем оптимизировать. Произошло значительное увеличение скорости, поскольку файл имеет сквозной кэш-память, а массив с плавающей точкой точно соответствует размеру сектора на диске. Программа записи двоичных файлов переносит дескриптор файла, созданный с помощью pinvoke
'win32 API. Оптимизация происходит, поскольку это уменьшает количество вызовов функций.
И, что касается памяти, это приложение создает массивные кеши, которые используют много памяти. Я могу выделить байтовый буфер один раз и повторно использовать его много раз - двойное использование памяти в данном конкретном случае составляет ошибку округления в общем потреблении памяти приложением.
Так что я думаю, что урок здесь не в том, чтобы делать преждевременные предположения;)