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)返回的值是重置前的高水位线。