module Allocation_report : sig ... end
val measure_allocation : (Base.Unit.t -> 'a) -> 'a * Allocation_report.t
measure_allocation f
measures the words allocated by runningf ()
val is_zero_alloc : (Base.Unit.t -> _) -> Base.Bool.t
is_zero_alloc f
runsf ()
and returnstrue
if it does not allocate, orfalse
otherwise.is_zero_alloc
does not allocate.
val prepare_heap_to_count_minor_allocation : Base.Unit.t -> Base.Unit.t
prepare_heap_to_count_minor_allocation
sets up the heap so that one can subsequently measure minor allocation via:let minor_words_before = Gc.minor_words () in (* ... do stuff ... *) let minor_words_after = Gc.minor_words () in let minor_words_allocated = minor_words_after - minor_words_before in
Without calling
prepare_heap_to_count_minor_allocation
, the resulting count may be inaccurate.