It is likely that at that value the internal automatic compilation of some of the code is kicking in:
In[16]:= SystemOptions[CompileOptions]
Out[16]= {"CompileOptions" -> {"ApplyCompileLength" -> \[Infinity],
"ArrayCompileLength" -> 250, "AutoCompileAllowCoercion" -> False,
"AutoCompileProtectValues" -> False, "AutomaticCompile" -> False,
"BinaryTensorArithmetic" -> False, "CompileAllowCoercion" -> True,
"CompileConfirmInitializedVariables" -> True,
"CompiledFunctionArgumentCoercionTolerance" -> 2.10721,
"CompiledFunctionMaxFailures" -> 3,
"CompileDynamicScoping" -> False,
"CompileEvaluateConstants" -> True,
"CompileOptimizeRegisters" -> False,
"CompileParallelizationThreshold" -> 10,
"CompileReportCoercion" -> False, "CompileReportExternal" -> False,
"CompileReportFailure" -> False, "CompileValuesLast" -> True,
"FoldCompileLength" -> 100, "InternalCompileMessages" -> False,
"ListableFunctionCompileLength" -> 250, "MapCompileLength" -> 100,
"NestCompileLength" -> 100, "NumericalAllowExternal" -> False,
"ProductCompileLength" -> 250, "ReuseTensorRegisters" -> True,
"SumCompileLength" -> 250, "SystemCompileOptimizations" -> All,
"TableCompileLength" -> 250}}
If you play with some of these using
SetSystemOptions[
"CompileOptions" -> {"ApplyCompileLength" -> \[Infinity],
"ArrayCompileLength" -> 250, "AutoCompileAllowCoercion" -> False,
"AutoCompileProtectValues" -> False, "AutomaticCompile" -> False,
"BinaryTensorArithmetic" -> False, "CompileAllowCoercion" -> True,
"CompileConfirmInitializedVariables" -> True,
"CompiledFunctionArgumentCoercionTolerance" -> 2.1072099696478683`,
"CompiledFunctionMaxFailures" -> 3,
"CompileDynamicScoping" -> False,
"CompileEvaluateConstants" -> True,
"CompileOptimizeRegisters" -> False,
"CompileParallelizationThreshold" -> 10,
"CompileReportCoercion" -> False, "CompileReportExternal" -> False,
"CompileReportFailure" -> False, "CompileValuesLast" -> True,
"FoldCompileLength" -> 100, "InternalCompileMessages" -> False,
"ListableFunctionCompileLength" -> 250, "MapCompileLength" -> 100,
"NestCompileLength" -> 100, "NumericalAllowExternal" -> False,
"ProductCompileLength" -> 250, "ReuseTensorRegisters" -> True,
"SumCompileLength" -> 250, "SystemCompileOptimizations" -> All,
"TableCompileLength" -> 250}]
You will be able to see if the threshold where the timing makes a jump moves according to the change in the threshold for the system options setting.