Benchmarks
Обновлено для R2015b: repelem
теперь самый быстрый для всех размеров данных.
Проверенные функции:
repelem
, которая была добавлена в решении R2015a cumsum
( rld_cumsum
) cumsum
+ diff
решение ( rld_cumsum_diff
) accumarray
knedlsepp [ knedlsepp5cumsumaccumarray
) из этого сообщения naive_jit_test.m
) для проверки компилятора «точно в момент времени» Результаты test_rld.m
на R2015b:
Старый временной график с использованием R2015a здесь .
Выводы:
repelem
всегда самый быстрый примерно в 2 раза. rld_cumsum_diff
последовательно быстрее, чем rld_cumsum
. repelem
является самым быстрым при небольших размерах данных (менее 300-500 элементов) rld_cumsum_diff
становится значительно быстрее, чем repelem
около 5 & thinsp; 000 элементов repelem
становится медленнее, чем rld_cumsum
где-то между 30 & thinsp; 000 a nd 300 & thinsp; 000 элементов rld_cumsum
имеет примерно такую же производительность, что и knedlsepp5cumsumaccumarray
naive_jit_test.m
имеет почти постоянную скорость и наравне с rld_cumsum
и knedlsepp5cumsumaccumarray
для Старая диаграмма скорости с использованием R2015a здесь .
Заключение
Используйте repelem
ниже примерно 5 & thinsp; 000 элементов и выше cumsum
+ diff
.