Найти - Пользователи
Полная версия: Как раскрыть потенциал современных NVMe SSD при сохранении/загрузке коллекций обьектов?
Начало » Python для экспертов » Как раскрыть потенциал современных NVMe SSD при сохранении/загрузке коллекций обьектов?
1 2
FishHook
NVMeMaster
Нужно читать с диска blob в том же самом формате в каком он находится в оперативной памяти в Rust
Это как вообще возможно? Вот допустим, у меня есть массив указателей на какие-то объекты. Как вы предлагаете его в том же самом виде сохранять на диск? Пусть это даже будет deepcopy, то есть вместе с самим массивом сохраняем дереференсы всех указателей. Но массив, это один черт массив адресов, и когда я его восстановлю с диска в другом процессе, указатели будут указывать на что попало.

В данный момент оно реализовано на простом pickle
То есть, вы думаете, что результат дампа pickle-ом это “blob в том же самом формате в каком он находится в оперативной памяти python”. Правильно?
NVMeMaster
FishHook
То есть, вы думаете, что результат дампа pickle-ом это “blob в том же самом формате в каком он находится в оперативной памяти python”. Правильно?
Нет
Я понимаю как работает pickle и хотел бы спуститься на более низкий уровень.

FishHook
Это как вообще возможно? Вот допустим, у меня есть массив указателей на какие-то объекты. Как вы предлагаете его в том же самом виде сохранять на диск?
В моем случае есть только массив примитивов типа int32. В Rust они хранятся без промежуточных указателей. От строк и объектов я уже избавился


NVMeMaster
У меня получилось решить проблемму с помощью готовых библиотек для раста вроде https://docs.rs/bincode/1.3.3/bincode/
Но чуть меньшую скорость и наибольшую совместимость py+rust дает numpy.array. Подробнее описано тут библиотека для чтения NumPy's *.npy binary format для Rust
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB