Выпуск SQLite 3.8.7 со значительными оптимизациями производительности
Опубликовано 19 Октябрь 2014 10:35:21
Представлен релиз SQLite 3.8.7, легковесной базы данных, оформленной в виде подключаемой библиотеки. Код SQLite распространяется как общественное достояние (public domain), т.е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум, в который входят такие компании, как Adobe, Oracle, Mozilla, Bentley и Bloomberg.
Источник: http://www.opennet.ru/opennews/art.shtml?num=40865
В новом выпуске:
- Проведена большая работа по оптимизации производительности, затронувшая многие части кодовой базы. В результате удалось повысить производительность на 20% по сравнению с прошлой версией. Тестирование проводилось с измерением результатов работы нагрузочного сценария "speedtest1.c" через прокси cachegrind в 64-разрядной сборке Ubuntu 13.10 с gcc 4.8.1 и при указании флага оптимизации "-Os". В реальных приложениях увеличение скорости ожидается на уровне 10%. За последний год отмечается большой прогресс в оптимизации кодовой базы SQLite, например по сравнению с выпуском 3.8.0 при выполнении синтетических тестов производительность возросла на 61%.
- В сортировщик добавлена поддержка использования вспомогательных обработчиков, выполняемых в отдельных нитях, что позволяет добиться сокращения времени отклика при выполнении сложных запросов. По умолчанию данная возможность отключена и включается через PRAGMA threads или через сборку с опцией SQLITE_DEFAULT_WORKER_THREADS. Для ограничения числа нитей следует использовать опцию SQLITE_LIMIT_WORKER_THREADS в sqlite3_limit();
- Расширены оптимизации пропуска элементов при сканировании (skip-scan), добавлена возможность пропуска записей в середине индекса, а не только в его начальной части;
- Улучшена производительность операторов преобразования типов;
- Внесены улучшения в метод использования статистики sqlite_stat4 при планировании выполнения запроса;
- Добавлены новые программные интерфейсы, оперирующие 64-разрядными значениями: sqlite3_malloc64(), sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_result_blob64(), sqlite3_bind_text64() и sqlite3_result_text64();
- Добавлен новый программный интерфейс sqlite3_msize(), который возвращает размер памяти, выделенной через sqlite3_malloc64() и подобные функции;
- В расширении spellfix1 представлена возможность явного приведения rowid для каждой операции INSERT.
- Добавлено новое расширение user-auth, позволяющее обеспечить применение аутентификации пользователей при доступе к БД;
- Прекращена поддержка опции SQLITE_ENABLE_TREE_EXPLAIN, вместо которой следует использовать механизм трассировки запроса SELECTTRACE, предоставляющий больше диагностических данных;
- В интерфейс командной строки добавлены новые опции "--pagecache", "--lookaside" и "--scratch" для настройки использования дополнительной памяти.
Источник: http://www.opennet.ru/opennews/art.shtml?num=40865
|
0 | Tweet | Нравится |
|