Small. Fast. Reliable.
Choose any three.

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()例程返回字节的内存目前优秀(malloced但不释放)的数量。该sqlite3_memory_highwater()例程返回的最大值sqlite3_memory_used()以来的高水位标记最后复位。sqlite3_memory_used()sqlite3_memory_highwater()返回的值包括SQLite在实现sqlite3_malloc()时由SQLite添加的任何开销,但不包括由sqlite3_malloc()可能调用的任何基础系统库例程添加的开销。

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

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