Skip to content
View source

entelechy benchGenerated

Measure a scene’s frames on one backend or several.

终端窗口
bench <scene.esn>

Step the scene for –frames frames –repeat times on each backend and print the least of the runs, a millisecond a frame. The frames overlap the device as a window’s do: the next is made while the device runs this one. The first frame of all is thrown away: it compiles and allocates. –nodes measures every node as well, native operations included, as a window’s frame-data line does: on a device by its own clock beside the call on the frame’s thread, nothing waiting for either. Where the device keeps no clock it waits after each node, what measuring a node costs before it does anything taken off every line, and the sum says how the parts come to more than the whole, since a node runs alone there and a frame overlaps them. –json writes the measurement, and –compare reads one back and prints what changed since, which is how a change is shown to cost nothing.

flag Value Repeats Description
--frames <n> no Frames a run steps.
--repeat <n> no Runs on each backend.
--rate <fps> no Frames a second.
--backend cpu|gpu|jit|all yes A backend to measure on; all is every backend this build has.
--nodes `` no Measures every node as well.
--window <w>x<h>[@<scale>] no The window a scene sized by window() fills, in pixels, with its scale factor.
--json <file> no Writes the measurement to a file.
--compare <file> no Prints what changed since a measurement written by –json.
--library <dir|file> no Kernels the scene uses beside its own.
--input <name>=<path> yes Reads the scene’s input from the path given, a file or a directory as the input reads; an external the scene leaves to its caller bound to a picture file.
--output <name>=<path> yes Writes the scene’s output to the path given, a file or a directory as the output writes.
--param <name>=<literal> yes Sets a graph parameter.
--no-fusion `` no Runs pointwise producers apart from their consumers.
--allow file.read|file.write|file.delete=<dir>|clipboard.read|clipboard.write yes Lets the scene read files from, write its outputs into, or remove and rename files in, a directory; or read and write the system’s clipboard.
--grant <capability,...> no The only capabilities a Kernel may be given.
--memory <MB> no Mebibytes of Fields the Host may hold at once (2048 by default).
--work <M> no Million loop iterations one run of a Kernel may take (4000 by default).
--small <operations> no Operations a run may take, by its elements and its Kernel’s typical work, and go to the processor rather than the device (400000 by default; 0 keeps every run on the device).