[Moscow.pm] tie Berkeley
Vladimir Timofeev
vovkasm на gmail.com
Пн Окт 22 13:22:09 PDT 2012
>> Никто не сталкивался с тем, что замена хеша на tie Berkeley, даже когда
>> база
>> в памяти, а не на диске, приводит к заметному проседанию
>> производительности
>> с ростом размера хеша? Причем не ступенчато, а плавно.
> Не сталкивался, или сталкивался, но не помню.
> Но что здесь удивительного? Хороший хеш в нормальном состоянии
> позволяет делать операции вставки/запроса за O(1),
> а btree всегда будет O(log N)
> Или я не понял, и вы используете BerkeleyDB::Hash ?
>
...
22 октября 2012 г., 15:00 пользователь ksvs <ksvs1996 на ymail.com> написал:
> Hash
>
Даже интересно стало. Вот что я сделал:
https://gist.github.com/3933779
и убил свою ZFS на фряхе )))
Она все же пишет на диск, не знаю куда, но много.
В gist'е последний результат которого я смог дождаться 1500000
элементов в хеше...
А вот, когда я сделал
tie %h1, 'BerkeleyDB::Hash', -Cachesize => 700_000_000; # поставить
cache в 700Mb
Процесс в памяти занял больше, но мучения диска начались только вот тут:
100000 5378313/s 223696/s
300000 5378313/s 231981/s
700000 5474182/s 233712/s
1500000 5296201/s 233712/s
3100000 5064251/s 235469/s
6300000 5420331/s 233712/s
--
Vladimir Timofeev <vovkasm на gmail.com>
Подробная информация о списке рассылки Moscow-pm