Small. Fast. Reliable.
Choose any three.

SQLite C Interface

Статистика распределителя памяти

sqlite3_int64 sqlite3_memory_used(void);
sqlite3_int64 sqlite3_memory_highwater(int resetFlag);

SQLite обеспечивает эти два интерфейса для сообщения о статусе sqlite3_malloc(), sqlite3_free() и sqlite3_realloc(), которые формируют встроенную подсистему выделения памяти.

sqlite3_memory_used() возвращает число байтов в настоящее время выдающейся памяти. sqlite3_memory_highwater() возвращает максимальное значение sqlite3_memory_used(), так как высшая точка была в последний раз перезагружена. Значение из sqlite3_memory_used() и sqlite3_memory_highwater() включают немного издержек, добавленных SQLite в его внедрении sqlite3_malloc(), но не добавленные любым вызовом системной библиотеки.

Высшая точка памяти перезагружается к текущему значению sqlite3_memory_used() если и только если параметр sqlite3_memory_highwater() = true. Значение, возвращенное sqlite3_memory_highwater(1), является высшей точкой до сброса.