def METHOD_NAME(self, cutout, dreport, repetitions: int = 30, timeout: float = 300.0) -> float:
    dreport_ = {}
    for cstate in cutout.nodes():
        for dnode in cstate.data_nodes():
            array = cutout.arrays[dnode.data]
            if array.transient:
                continue
        try:
            data = dreport.get_first_version(dnode.data)
            dreport_[dnode.data] = data
        except:
            continue
    runtime = optim_utils.subprocess_measure(cutout=cutout, dreport=dreport_, repetitions=repetitions, timeout=timeout)
    return runtime