Переписываю один очень старый скрипт для работы с текстом, заметил что python3 медленее работает с поставленной задачей, пример:
python2
string = "!.string"
print(range(len(string))
real 0m0,015s
user 0m0,006s
sys 0m0,009s
В примере на python3 я использую еще list(), так как range() в нем (py3) работает абсолютно по другому, так как это замена xrange() в python2, он не возвращает массив.
string = "!.string"
print(list(range(len(string))))
real 0m0,024s
user 0m0,021s
sys 0m0,004s
Ну и выхлоп с range без list в python3 (хотя это не правильно в моей ситуации):
real 0m0,064s
user 0m0,057s
sys 0m0,007s
Задача у меня искать по паттерну в файле строку подходящую (aka grep -r «string» file), в больших объемах соответственно цифра увеличивается таких вычислений.
Вопрос: правильно ли оборачивать range в list в python3? Либо можно использовать гораздо быстрое решение?