|
|
|
BerkeleyDB, 200M records, 16byte key, 32byte data.
|
|||
|---|---|---|---|
|
#18+
Ключ - случайные 128 бит. Используя C (С++, неважно) и работая на 1.5GB рамдиске (ramfs, linux) удаётся добавлять 1М записей за 19...22 секунд при имеющихся 36 млн записей в базе (дальше кончается рамдиск). Используется режим DB_HASH, размер кеша - 16 MB. Рамдиск потому, что на настоящем HDD проще застрелиться, чем дождаться, пока оно выполнит стопицот seek-операций. Извлечение 1M записей по ключам - 16 секунд. Можно ли добиться более крутой производительности? Например накоденное на С++ "хранилище" на базе std::map< uint128_t , std::list < UserInfo_t > >: 1. Вставка 1М записей - 5 сек. 2. Извлечение 1М записей - 3 сек. Размеры баз при 8М записей 1. Berkeley DB - 655MB 2. std::map<> - 610MB http://dramele.livejournal.com/112696.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2009, 09:25:13 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=119&tid=1344311]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
55ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 178ms |
| total: | 292ms |

| 0 / 0 |
