Python sortedcontainers работает слишком медленно
#Это мой код
from sortedcontainers import SortedList, SortedSet, SortedDict
import timeit
import random
def test_speed1(data):
SortedList(data)
def test_speed2(data):
sorted_data = SortedList()
for val in data:
sorted_data.add(val)
data = []
numpts = 10 ** 5
for i in range(numpts):
data.append(random.random())
print(f'Num of pts:{len(data)}')
sorted_data = SortedList()
n_runs=10
result = timeit.timeit(stmt='test_speed1(data)', globals=globals(), number=n_runs)
print(f'Speed1 is {1000*result/n_runs:0.0f}ms')
n_runs=10
result = timeit.timeit(stmt='test_speed2(data)', globals=globals(), number=n_runs)
print(f'Speed2 is {1000*result/n_runs:0.0f}ms')
введите описание изображения здесь
Предполагается, что код для тестовой скорости 2 займет 12~ мс (я проверил настройку, о которой они сообщают). Почему это занимает 123 мс (в 10 раз медленнее)???test_speed1 выполняется за 15 мс (что имеет смысл)
Я бегаю в Конде. Здесь они рассказали о производительности https://grantjenks.com/docs/sortedcontainers/performance.html.