Замер скорости вариантов форматирования строк
Сейчас мы узнаем, какой из вариантов форматирования строк работает быстрее остальных.
При помощи следующего нехитрого скрипта вы сможете произвести замеры:
На моей машине с Python 3.7.1 результаты получились следующие:
Невооруженным глазом заметно, что самыми быстрыми оказались форматные строки, а самым медленным — метод str.format().
Удачного форматирования.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
measure () { | |
local RES=$(python3.7 -m timeit -n 2000000 -s 'x=256' "$1" | cut -d ":" -f 2) | |
echo "$1 -> $RES" | |
} | |
measure 'str(x)' | |
measure 'f"{x}"' | |
measure '"%d" % x' | |
measure '"{0}".format(x)' |
На моей машине с Python 3.7.1 результаты получились следующие:
str(x) -> 159 nsec per loop
f"{x}" -> 58.4 nsec per loop
"%d" % x -> 122 nsec per loop
"{0}".format(x) -> 218 nsec per loop
Невооруженным глазом заметно, что самыми быстрыми оказались форматные строки, а самым медленным — метод str.format().
Удачного форматирования.
На заметку
Зарегистрированные пользователи могут добавлять Видео.