[Comm] ps2pdf
Mikhail Gusarov
=?iso-8859-1?q?dottedmag_=CE=C1_altlinux=2Eorg?=
Ср Сен 3 01:53:33 MSD 2008
Twas brillig at 01:42:01 03.09.2008 UTC+04 when at на altlinux.ru did gyre and gimble:
AT> Тут ещё такое дело что кодироване указателями иногда ничего не
AT> даёт. Напр. компонент "/usr" в строке занимает четыре байта, и
AT> укзатель тоже занимает четыре байта, так что замена коротких
AT> компонентов пути на указатель ничего не даёт. Более того, игра в
AT> указатели имеет подводную часть -- malloc bookkeeping (malloc is
AT> not *that* free) и фрагментация памяти.
Я когда игрался - обошёлся без выделения памяти, построив всё trie в
одном chunk-е памяти со смещениями в узлах дерева (тип узла, буква и
смещение укладываются в 4 байта), имя пакета, естественно, хранил ровно
один раз (на именах тоже можно trie организовать, но я не
попробовал). Правда, такая структура данных потребует всасывания большой
части файла в память.
Ещё можно выиграть за счёт введения путей типа /foo/bar/some/* -> some.
--
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 196 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/community/attachments/20080903/65f3217d/attachment-0002.bin>
Подробная информация о списке рассылки community