[О блоге] [наверх] [пред] [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-е почти не отжирая память.

    [оставить комментарий]