|
Результаты первого знакомства с SQLite, SQLCipher и MinGW.
|
|||
---|---|---|---|
#18+
Т.к. в новом проекте будет использоваться решение, базирующееся на SQLite, принялся знакомиться с этим зверем поближе (до этого был знаком поверхностно). Так же в требованиях прописана возможность шифрования информации. Поэтому с SQLCipher тоже приходится знакомиться. Для предварительной оценки скорости и размеров файлов БД решил провести небольшой тест (источник http://geomapx.blogspot.com/2009/09/sqlite-3617-mobigroup2.html ) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
Результаты теста на разных сборках: SQLite ShellIRNDCI4SEL1CCISEL2SQLite orig 23.18 (0.79) 288.00 (400.00) 0.84 (0.40) 99.74 (109.37) 0 (0)SQLite MinGW fast 36.48 (0.56) 336.00 (236.00) 1.31 (0.08) 123.94 (59.99) 0 (0)SQLite VC2008 fast 21.24 (0.46) 120.00 (1.36 ) 0.61 (0.05) 53.68 (0.47) 0 (0)SQLCipher MinGW def 40.78 (1.06) 412.00 (411.00) 6.36 (0.31) 146.61 (110.09) 0 (0)SQLCipher MinGW fast 39.56 (0.59) 356.00 (232.00) 5.19 (0.12) 134.62 (59.62) 0 (0) База big10M.db содержит единственную таблицу bigtbl с 10 миллионами записей. Значения в скобочках содержат sys time (<STIME>). Тестировалось всё на SQLite версии 3.7.9 и SQLCipher версии 2.0.3 (sqlite 3.7.9). SQLite orig - оригинальный shell ( http://www.sqlite.org/sqlite-shell-win32-x86-3070900.zip ). SQLCipher тестировался на шифрованной БД (ключ '123'). def - стандартные опции сборки. fast - оптимизированные опции сборки: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Тестировалось всё на Win7 x64 (Xeon 2.79 GHz, RAM 12 GB). Странно, что оригинальный sqlite shell оказался быстрее моей fast сборки. Видимо нужно для MinGW какие то параметры оптимизации указывать. А вот сборка на VS2008 просто какие то чудеса показывает. Даже появляются сомнения в правильной работе sqlite ))) SQLCipher только на выборке значительно отстаёт от SQLite. Вот теперь как то нужно умудриться собрать SQLCipher под VS2008 ..... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2012, 18:30 |
|
Результаты первого знакомства с SQLite, SQLCipher и MinGW.
|
|||
---|---|---|---|
#18+
Удалось собрать SQLCipher 2.0.3 под VC2008 (OpenSSL 1.0.0g). Вот обновлённая таблица: SQLite ShellIRNDCI4SEL1CCISEL2SQLite orig 23.18 (0.79) 288.00 (400.00) 0.84 (0.40) 99.74 (109.37) 0 (0)SQLite MinGW fast 36.48 (0.56) 336.00 (236.00) 1.31 (0.08) 123.94 (59.99) 0 (0)SQLite VC2008 fast 21.24 (0.46) 120.00 (1.36 ) 0.61 (0.05) 53.68 (0.47) 0 (0)SQLCipher MinGW def 40.78 (1.06) 412.00 (411.00) 6.36 (0.31) 146.61 (110.09) 0 (0)SQLCipher MinGW fast 39.56 (0.59) 356.00 (232.00) 5.19 (0.12) 134.62 (59.62) 0 (0)SQLCipher VC2008 fast 23.37 (0.23) 144.00 (1.28 ) 4.31 (0.09) 65.85 (0.57) 0 (0) Так что MinGW под виндою себя никак не оправдывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2012, 14:18 |
|
Результаты первого знакомства с SQLite, SQLCipher и MinGW.
|
|||
---|---|---|---|
#18+
metosТак что MinGW под виндою себя никак не оправдывает.Это не так. На тестах, проводимых с правильными ключами компиляции VC и MinGW последних версий, результирующие бинарники показывают близкие результаты. Надо разбираться в опциях компиляции, потом уже критиковать. Хотя сам процесс компиляции у MinGW под Windows существенно медленнее. GCC под *nix работает быстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2012, 15:05 |
|
|
start [/forum/topic.php?fid=54&fpage=19&tid=2009058]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 159ms |
0 / 0 |