LINUX.ORG.RU

История изменений

Исправление Nervous, (текущая версия) :

Попробовал так

data_size = 100
iterations = 1000

xs = [(x, x*x) for x in range(data_size)]
ys = [(x, x + x) for x in range(data_size)]

...

One imperative:  4.405387898004847
One pythonic:  4.029522532975534
Two:  3.1333080009790137

Окей, добавим еще данных:

data_size = 1000
iterations = 10

...

One imperative:  4.500911807001103
One pythonic:  4.287391154997749
Two:  3.0663874369929545

И еще:

data_size = 10000
iterations = 1

...

One imperative:  46.79107773100259
One pythonic:  44.19063223400735
Two:  31.2664970770129

Какая-то питонья магия %) Хотя…

 for key in keys:
        summ = 0
        for x in c:

тот же самый o(n^2) ведь.

Но что так, что этак десятки секунд на 10к элементов — это жесть. Граждане! Храните деньги в сберегаданные в правильных структурах! %)

Исправление Nervous, :

Попробовал так

data_size = 100
iterations = 1000

xs = [(x, x*x) for x in range(data_size)]
ys = [(x, x + x) for x in range(data_size)]

...

One imperative:  4.405387898004847
One pythonic:  4.029522532975534
Two:  3.1333080009790137

Окей, добавим еще данных:

data_size = 1000
iterations = 10

...

One imperative:  4.500911807001103
One pythonic:  4.287391154997749
Two:  3.0663874369929545

И еще:

data_size = 10000
iterations = 1

...

One imperative:  46.79107773100259
One pythonic:  44.19063223400735
Two:  31.2664970770129

Какая-то питонья магия %)

Но что так, что этак десятки секунд на 10к элементов — это жесть. Граждане! Храните деньги в сберегаданные в правильных структурах! %)

Исходная версия Nervous, :

Попробовал так

data_size = 100
iterations = 1000

xs = [(x, x*x) for x in range(data_size)]
ys = [(x, x + x) for x in range(data_size)]

...

One imperative:  4.405387898004847
One pythonic:  4.029522532975534
Two:  3.1333080009790137

Окей, добавим еще данных:

data_size = 1000
iterations = 10

...

One imperative:  4.500911807001103
One pythonic:  4.287391154997749
Two:  3.0663874369929545

И еще:

data_size = 10000
iterations = 1

...

One imperative:  46.79107773100259
One pythonic:  44.19063223400735
Two:  31.2664970770129

Какая-то питонья магия %)

Но в общем и целом десятки секунд на 10к элементов — это жесть. Граждане! Храните деньги в сберегаданные в правильных структурах! %)