>
> AT> А пара строчек кода на C выдирается прямо из модуля - он же их
> AT> раскодирует и в лог пишет в 16-ричном виде.
>
> А почему бы не давать пользователю модуля именно ещё и само число, а
> не только закодированную его версию, ведь это удобно тем, кто не пишет
> в лог куку, а использует её скажем для записи в mysql базу. Ведь
> раскодировать на том же Перле намного дороже по ресурсам, чем в модуле
А ненужно раскодировать. Оно уже в notes раскодированное в виде
32-байтной строки. Делите ее на 4 строки по 8 символов - вот вам 4
отдельных числа. Можно через pack упаковать обратно.
> Апача. Для счётчика Рамблера запись в лог - это наверное оптимально,
> но последующий анализ лога всёравно требует раскодирования числа, ибо
> запись его в базу много лучше в виде числа 16 байт, а не строки 20
> байт.
Ничем не лучше. Потому что 128-битные типы (как числа) обычными SQL-ями
если и поддерживаются, то неэффективно. И нужно обрабатывать эту
куку дальше - номер сервиса (откуда пришел впервые), когда выдана
(когда пришел впервые) - тоже нужно оттуда выдирать. Но так как только
тот кто настраивал - знает что ему интересно, то ему и карты в руки.
> Хотелось бы верить, что все эти строки выглядят как фича для следующей
> версии. :-)
Ой сомневаюсь. Все что нужно для работы, а именно строковое представление,
там есть. Как его паковать для записи в mysql и с каким смыслом - это
дело приложения.
По-хорошему, нужно вообще эти куки нумеровать в отдельном префиксном
дереве и в mysql писать компактное представление - не 128 бит, а
эдак 24-32.
Алексей Тутубалин
mailto: lexa@lexa.ru
Web: http://www.lexa.ru/lexa