eddy_em: (Костерок)
eddy_em ([personal profile] eddy_em) wrote2016-09-27 08:54 pm
Entry tags:

Стащил

В поисках парсера ini-файлов наткнулся на эту библиотечку. Форкнул себе (в т.ч. и на гитлаб с битбакетом). Но мне не понравилась структура хранения данных и то, что каждый раз при необходимости увеличить размер хранилища его удваивают.
Сделал хранение раздельным: для каждой секции ключи хранятся в своем массиве данных.
Добавил сортировку по хэшам (для бинарного поиска в больших ini) и сортировку по именам (для красивого сохранения в файл).
Вроде бы работает.

Кому интересно — попробуйте потестировать.

[identity profile] eddy-em.livejournal.com 2016-09-28 05:17 am (UTC)(link)
Ну, мне пока нужно немногое — хранить кое-какие вещи в ini-файлах, чтобы не делать alias'ов с толпой ключей, которые указываются постоянно.
Кроме того, ini-файлы позволят уменьшить количество ключей (скажем, в apogee_control список ключей уже с трудом в 1 экран вмещается, конечно, до mplayer/mencoder это далеко, но как-то неуютно). В sextractor, например, проблему 100500 ключей решили упоминанием всего нужного в конфигурационных файлах.

В любом случае, велосипед расширяем. Скажем, сейчас он у меня не является реентерабельным (реентерабельность скажется на скорости работы). В именах секций нельзя использовать двоеточие, и т.д., и т.п.

[identity profile] masterspammer.livejournal.com 2016-09-28 09:06 am (UTC)(link)
А так обычно и бывает и потому есть разные реализации - потому что всем нужно немногое, но всем - разное.

[identity profile] eddy-em.livejournal.com 2016-09-28 09:49 am (UTC)(link)
Это да. Попытка запилить все в одну кучу приводит к созданию монстров-уродцев вроде OpenCV.