SQLite C 接口

内存分配器统计

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_malloc()可能调用的任何底层系统库例程添加的开销。

当且仅当 sqlite3_memory_highwater()的参数为真时,内存高水位线才会重置为 sqlite3_memory_used()的当前值。sqlite3_memory_highwater(1)返回的值是重置前的高水位线。

另请参阅 对象常量函数的列表。