Как прокомментировал Стив Эддинс, неявное расширение (введенное в Matlab R2016b) быстрее, чем bsxfun
для небольших размеров массива и имеет аналогичную скорость для больших массивов:
В R2016b неявное расширение работает как быстрее или быстрее, чем bsxfun в большинстве случаев. Наилучший прирост производительности для неявного расширения - это небольшие размеры матриц и массивов. Для больших размерных матриц неявное расширение имеет тенденцию быть примерно такой же скоростью, как
bsxfun
.
Кроме того, размер, по которому происходит расширение, может иметь влияние:
Когда происходит расширение в первом измерении, операторы могут быть не такими быстрыми, как
bsxfun
.
(Спасибо @Poelie и @rayryeng за то, что позволили мне знать об этом!)
Естественно возникают два вопроса:
- Насколько быстрее неявное расширение по сравнению с
bsxfun
? - Для каких размеров или форм массива значительная разница?