These functions cover two main areas.
First, some simple utility functions over the underlyingg_malloc()
/g_free()
functions. Memory that is allocated and freed using thesefunctions is interchangeable with any other GLib library.
Second, a pair of functions,vips_tracked_malloc()
andvips_tracked_free()
,which areNOT compatible. If youg_free()
memory that has beenallocated withvips_tracked_malloc()
you will see crashes.
The tracked functions are only suitable for large allocations internal to thelibrary, for example pixel buffers. libvips watches the total amount of livetracked memory and uses this information to decide when to trim caches.
vips_malloc()
vips_strdup()
vips_tracked_free()
vips_tracked_aligned_free()
vips_tracked_malloc()
vips_tracked_aligned_alloc()
vips_tracked_get_mem()
vips_tracked_get_mem_highwater()
vips_tracked_get_allocs()
vips_tracked_open()
vips_tracked_close()
vips_tracked_get_files()