How benchmarks are structured and executed
masterBenchmarks in Scryer Prolog are centered around running queries against a Prolog module file.
Lifecycle:
benchmark.setup()is called, which reads a specified.plmodule file.- A new
scryer_prolog::machine::Machineis initialized. - The query is executed against that machine.
Execution differences:
- Criterion: Runs the query many times to gather statistical data.
- iai: Runs the query exactly once to count instructions.