Snoop: workload in N_IOpt_map is wrong
Seeing interpreter__N_IOpt_map_some.workload.json
(typically generated by octez-snoop generate code for benchmarks interpreter/N_IOpt_map_some
),
it contains hundreds of workload
as below
{ "workload":
[ [ "N_IOpt_map", [ [ "is_some", "1" ] ] ], [ "N_IHalt", [] ],
[ "N_KMap_head", [] ], [ "N_IHalt", [] ] ], ...
These show the steps of executing primitives, but these are wrong. These must be
{ "workload":
[ [ "N_IOpt_map", [ [ "is_some", "1" ] ] ], [ "N_IHalt", [] ],
[ "N_KMap_head", [] ], [ "N_KCons", [] ], [ "N_IHalt", [] ], [ "N_KNil", [] ] ], ...
(IOpt_map
constructs KMap_head (Option.some, KCons (k, ks))
continuation. So workload
should include N_KCons
and the terminal of type continuation
, N_KNil
)
It looks like the cause is in logger, which records the steps
Related to #5942 (closed)
Edited by taiseiKMC