Допустим, у меня есть набор детерминированных программ, которые принимают некоторые данные в качестве входных данных. Мне интересно вычислить "время", пока программа не завершит работу для разных входных данных. Меня не волнует фактическое время, которое требуется, но мне нужен показатель, который

  • воспроизводимый (если я дважды запускаю определенную программу с конкретными данными, я получаю, по крайней мере, примерно такой же результат) и
  • сравнимо (если я запускаю, например, две разные программы с одинаковыми данными, а возвращаемая метрика для первой программы равна 100, а для второй программы - 50, это должно позволить утверждать, что первая программа запускается с этим в два раза дольше входные данные).

Моя установка представляет собой виртуальную машину, которая размещена на сервере, который имеет существенно разные нагрузки в разное время дня. Мое ограниченное понимание предполагает, что в случае интенсивного использования хост-сервера гостевая виртуальная машина получает меньше вычислительного времени и работает медленнее, поэтому использование чего-то вроде настенного времени, безусловно, не будет работать. Я полностью контролирую виртуальную машину. У меня нет контроля над хост-сервером.

Кто-нибудь из вас знает, как я могу достичь своей цели надежно?

0