A library for building dynamic webapps, using Js_of_ocaml
Module type
Class type
Library bonsai.bench
type 'action t

A 'action Interaction.t represents an interaction that occurs with a Component whose action type is 'action.

val change_input : 'a Bonsai.Var.t -> 'a -> _ t

change_input sets the given Var.t to the supplied value.

val inject : 'action -> 'action t

inject calls the inject_action function for the component being benchmarked with the supplied action.

val advance_clock_by : Core.Time_ns.Span.t -> _ t

advance_clock_by advances the current clock by the supplied amount. Note that the clock is not reset between benchmark runs.

val stabilize : _ t

stabilize forces a stabilization of the incremental graph for the component being benchmarked.

val reset_model : _ t

reset_model resets the benchmarked component's model back to the value it was at the beginning of the benchmark.

val many : 'action t list -> 'action t

many is used to create lists of interactions all at once. Interactions created this way will get flattened prior to benchmark runtime, so that there isn't performance cost to using the constructor.

val many_with_stabilizations : 'action t list -> 'action t

many_with_stabilizations is similar to many, but intersperses stabilizes in the supplied list of actions.