parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ммм, Спасибо, ну вот так бы кто и сказал сразу, всё равно полегче.

andylars 06.05.2016 00:22 / 06.05.2016 00:29

И такой ответ - нужный! :)

Методом гадания на исходниках непойми-чего, и нахождения вот такого куска:
#define PAIRMAX 8008
...
long maxbno;               /* size of dirfile in bits */
int  keyptr;               /* current key for nextkey */
...
т.е. как я могу понять "филькину грамоту", long это платформонезависимых 4 байта на число, причем со знаком, причем это в битах (судя по комментарию)

Типа в худшем случае это:

2 147 483 647 / 8 bits
= 268 435 455 байт / 8000 (макс.длина ключ+значение) =~ 33 554

Но так, как встречается что-то типа
/* if the block/page size is increased, it breaks perl apr_sdbm_t compatibility */
#define DBLKSIZ 16384
#define PBLKSIZ 8192
То не стоит расчитывать больше, чем на 8-16K записей (ключ+значение).

В любом случае, очевидно, что для обслуживания сразу всех пользователей, этот sdbm явно не подходит. Целевое применение, только как "серверные кукис", т.е. по файлу на пользователя, а не один файл на всех - это точно.