[О блоге]
[наверх]
[пред]
[2020-02-17 20:51:02+03:00]
[897b4bf117836cc37b5b7bc3ce4fd5f48f80ec94]
Темы: [python]
Зарелизил PyDERASN 7.2
https://lists.cypherpunks.ru/pipermail/pyderasn-devel/2020-February/000040.html
На самом деле ещё вчера я полностью реализовал двухпроходное кодирование
DER: проходим по всем объектам в детерминированном порядке, высчитываем
кто сколько будет занимать места, запоминаем (кому надо) какую длину
надо будет закодировать, затем бежим уже второй раз, на лету сразу
записывая в некий writer все получающиеся закодированные значения.
Изменений в коде -- минимум. Но производительность существенно упала, а
я надеялся, что за счёт меньших пертурбаций с памятью, будет лучше. В
итоге забросил идею. А потом осенило: это ж позволит потокового (почти,
с сохранением state от первого прохода) записывать данные, а применяя
mmap-ы и итераторы, позволит формировать сколько угодно огромные DER-ы.
Сегодня сделал двухпроходное кодирование как альтернативу обычному, всё
работает, легко сделать многогигабайтный DER без проблем или с
миллионами элементов, в Python-е почти не отжирая память.
[оставить комментарий]