суббота, 10 июля 2010 г.

Упаковываем INI файл в бинарник

В старом, "замороженном", проекте список объектов хранился в ini файле. В средней сцене было около 40-50 объектов, у каждого около 15 свойств. Через стандартные WinAPI функции процесс считывания одного такого считывания занимал секунд 6-10, что явно не айс. Решил упаковать ini в бинарник и существенно выиграл в скорости загрузки, которая стала гораздо меньше секунды :)



Структура бинарника:
int - смещение таблицы строк
int - количество строк в таблице
char - количество секций в ини файле (конечно char ограничивает количество секций 
числом 255, но мне больше и не нужно)
{
int - смещение названия секции в таблице строк
сhar - количество ключей в секции
    {
    int - смещение ключа в таблице строк
    int - смещение значения в таблице строк
    } 
}
//Таблица строк
{
int SCount      - количество символов в последующей строке
wchar_t[SCount] - строка
}

Если кому-то понадобятся исходники класса, пишите в комменты, выложу на хостинг :)

Комментариев нет:

Отправить комментарий