Не так давно я натрапив на пост, де порівнювались різні методи коду для пошуку цифр у рядках у Python. Виникло бажання перевірити реальні швидкості цих методів, тому вирішив самостійно провести експеримент.
Я розглянув, як швидко кожен метод виконується при пошуку цифр коротких рядках, а також порівняємо їхню ефективність з погляду часу виконання.
Надалі, порівнявши кілька підходів, я поділюсь висновками щодо того, який з них є найкращим в умовах реального використання Python для цієї задачі.
Шість версій для порвняння |
Ось результати порівняння середнього часу виконання 10 мільйонів спроб з використанням: MacOS, Python 3.13.0:
Найкращий по швидкості варіант - Version_6 |
Але для мене було здивування, чому 5 версія повільніша за 4 ту, я гадав що REGEX = re.compile(r"\d+"), пришвидшує роботу.
Але після порівняння 5 версій, я додав шосту версію котра стала найкращою і довела що у випадку використання pre compiled Patterns в re не спрацьовує принцип відносності - літак летить на повітря чи повітря летить на літак 😁. І має велику різницю код:
re.findall(REGEX, text)
REGEX.findall(text)
Код метода порівняння:
Немає коментарів:
Дописати коментар