Я вижу эту проблему только на моем iMac (macOS Mojave, версия 10.14.3). Мои компьютеры с Windows и Linux (CentOS) не имеют такой проблемы. Может ли кто-нибудь с iMac подтвердить это?
process_time время (время ЦП) в два раза больше, чем perf_counter (настенные часы) в однопоточной программе, когда я запускаю последнюю версию Python 3.7 для Mac OS:
$ python3.7 test.py
Python ('v3.7.2: 9a3ffc0492', '24 декабря 2018 02:44:43') Clang 6.0 (clang-600.0.57)
Процессорное время: 15,925813999999999 Настенные часы: 7,970086342 Расстояние: 750
Я не вижу той же проблемы с Python 3.5:
$ python3.5 test.py
Python ('v3.5.1: 37a07cee5969', '5 декабря 2015 21:12:44') GCC 4.2.1 (Apple Inc., сборка 5666) (точка 3)
Время ЦП: 8.09766 Настенные часы: 8.108357406000323 Расстояние: 750
Это ошибка в Python 3.7 или я чего-то не понимаю в process_time ?
Вот код, который я запускаю 'test.py':
import time
import sys
import platform
def distance(a, b):
if a == b:
return 0
d = sys.maxsize
for i, c in enumerate(a):
d = min(d, ord(c) + distance(a[:i]+a[i+1:], b))
for i, c in enumerate(b):
d = min(d, ord(c) + distance(a, b[:i]+b[i+1:]))
return d
print("Python", platform.python_build(), platform.python_compiler())
cpu = time.process_time()
clock = time.perf_counter()
d = distance("12345", "abcde")
clock = time.perf_counter() - clock
cpu = time.process_time() - cpu
print("CPU Time:", cpu, "Wall Clock:", clock, " Distance:", d)
код здесь