+void MultiTuner::updateTimeout(Problem *problem, long long metric){
+ double currentTime= metric / NANOSEC;
+ if(currentTime < problem->besttime){
+ problem->besttime = currentTime;
+ }
+ uint adoptive;
+ if(problem->besttime > 30){
+ adoptive = problem->besttime * 5;
+ }else {
+ adoptive = 150;
+ }
+ if(adoptive < problem->timeout){
+ problem->timeout = adoptive;
+ }
+ LOG("Timeout=%u\tadoptive%u\tcurrentTime=%f\n", problem->timeout, adoptive, currentTime);
+}
+