So one factor - 3000 calls to _set_values turn into 50K calls to set_variable.
And 100000K calls to checkpoint.
Now profiles in python do penalise method calls a bit, but even so, an OOPS without profiling shows the same time gap, so I think the profile is likely reasonable in this case.
So one factor - 3000 calls to _set_values turn into 50K calls to set_variable.
And 100000K calls to checkpoint.
Now profiles in python do penalise method calls a bit, but even so, an OOPS without profiling shows the same time gap, so I think the profile is likely reasonable in this case.