[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