#python #uuid
#python #uuid
Вопрос:
Это код, который я использую,
from uuid import uuid1, uuid4
def test1(n):
for _ in range(0,n):
uuid1()
def test4(n):
for _ in range(0,n):
uuid4()
Результаты выполнения
In [65]: %timeit test1(1000000)
22.1 s ± 1.01 s per loop (mean ± std. dev. of 7 runs, 1 loop each)
In [66]: %timeit test4(1000000)
5.55 s ± 600 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
Как вы можете видеть, генерация uuid4, кажется, в 5 раз быстрее, чем uuid1. Я знаю, понимаю схему uuid https://en.wikipedia.org/wiki/Universally_unique_identifier
Где uuid1 тратит это время?
Комментарии:
1. На этот вопрос вы могли бы ответить сами, используя профилировщик выборки.
2. Я предполагаю, что поиск хоста — это та часть, которая требует времени. Вы можете попытаться проверить это самостоятельно, передав фиксированный хост в качестве аргумента узла в
uuid1
и посмотреть, работает ли это быстрее.