Я поддерживаю проект как на python2, так и на python3, и заметил, что интерпретатор python3 занимает почти в 3 раза больше времени, чем загрузка в качестве интерпретатора python2.Почему python3 занимает вдвое больше времени, чем загружает python2?
(Запуск на Arch Linux)
$ cat hello.py
print('Hello World!')
$ python -V
Python 3.4.2
$ time python hello.py
Hello World!
real 0m1.561s
user 0m1.290s
sys 0m0.110s
$ python2 -V
Python 2.7.9
$ time python2 hello.py
Hello World!
real 0m0.613s
user 0m0.513s
sys 0m0.070s
И еще раз без каких-либо кода:
$ rm foo ; touch foo ; time python foo ; time python2 foo
real 0m1.710s
user 0m1.297s
sys 0m0.103s
real 0m1.040s
user 0m0.667s
sys 0m0.100s
$ echo $PYTHONSTARTUP
$ rm foo ; touch foo ; time python -B foo ; time python2 -B foo
real 0m1.554s
user 0m1.117s
sys 0m0.123s
real 0m0.678s
user 0m0.557s
sys 0m0.090s
Что здесь происходит?
Какая ОС? Какие конкретные версии python2.x и python3.x вы используете? Я знаю, что более ранние версии python3.x были в основном «получить реализованные функции - не беспокоиться о производительности». IIRC Начиная с python3.3 Я думаю, что производительность (для большинства вещей) начала приближаться к python2.x's ... – mgilson
Что, собственно, делает ваш скрипт? Я предполагаю, что это имеет какое-то отношение к типам строк, которые вы используете в каждом скрипте. Попробуйте создать пустой файл python и выполните тот же тест. У меня был выброс в 2 раза медленнее для моего первого теста py3. Тогда они были точно такими же. –
Откуда вы знаете, что эти времена «загружаются»? Это также может быть «выгрузка», которая занимает дополнительное время. :) – selbie