Tuesday, November 24, 2015

Тестирую скорость алгоритма

В процессе реализации одного алгоритма столкнулся с тем, что незначительные правки вносят существенные коррективы в скорость его работы.
Сделал небольшую правку кода, чтобы увидеть, какой алгоритм быстрее и запустил их параллельно. Справа от двоеточия - количество обработанных элементов каждым из алгоритмов.

Processed #1: 1403
Processed #2: 7194
Processed #1: 2759
Processed #2: 10303

Processed #1: 3987
Processed #2: 12644
Processed #1: 5387
Processed #2: 14638

Алгоритм №2, который в начале показал очень хорошие результаты, в итоге оказался значительно медленнее конкурента.

Processed #1: 107894
Processed #2: 81434
Processed #1: 108407
Processed #2: 81740
Processed #1: 109066
Processed #2: 82076

И чем дальше, тем медленнее.

Processed #1: 303164
Processed #2: 155779
Processed #1: 303673
Processed #2: 155949
Processed #1: 304138

Processed #2: 156123

Так как алгоритмы отличаются реализацией, но используют те же структуры данных, следующий шаг - найти такую структуру данных, которая быстрее работает с алгоритмом №1.

No comments:

Post a Comment