We have some variables whose names don't reflect their content:
avg_time_naive = Utility.log_value(etimenaive[-1])
this is not the average time, it is the total time. Also it is the log of the time, not the time itself
(globally rename such variables to log_total_time_naive, etc.
We have some variables whose names don't reflect their content: avg_time_naive = Utility.log_value(etimenaive[-1])
avg_err_naive = Utility.log_value(sum(err) / len(err))