MYCSS

2024-11-23

Optimizing Performance: Python Speed Test for Digit Search in Strings

Не так давно я натрапив на пост, де порівнювались різні методи коду для пошуку цифр у рядках у 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)

Код метода порівняння:


Немає коментарів:

Дописати коментар

Дякуємо!