Несколько вопросов задавались перед сравнением между bsxfun
и repmat
для производительности.
- Один из них:
Matlab - bsxfun no longer faster than repmat?
. Это попыталось исследовать сопоставления производительности междуrepmat
иbsxfun
, специфичными для выполнения вычитания входного массива по столбцам из самого входного массива и как таковой будет исследовать только часть@minus
bsxfun
против ееrepmat
. - Другой был:
In Matlab, when is it optimal to use bsxfun?
. Тот пытался сделать одну и ту же операцию вычитания средним по столбцам и не расширился и на другие встроенные операции.
С этим сообщением я пытаюсь исследовать числа производительности между bsxfun
и repmat
, чтобы охватить все bsxfun
встроенные функции, чтобы дать им более широкую перспективу, как обе эти хорошие векторизованные решения.
В частности, мои вопросы с этим сообщением:
-
Как выполняются различные встроенные операции с
bsxfun
с эквивалентамиrepmat
?bsxfun
поддерживает операции с плавающей запятой, такие как@plus
,@minus
,@times
и т.д., а также реляционные и логические операции, такие как@ge
,@and
и т.д. Итак, которые могли бы дать мне заметные ускорения сbsxfun
, чем использовать ихrepmat
эквиваленты? -
Лорен в ней
blog post
имеет сравнительный тестrepmat
противbsxfun
со временем@() A - repmat(mean(A),size(A,1),1)
против@() bsxfun(@minus,A,mean(A))
соответственно. Если мне нужно охватить бенчмаркинг для всех встроенных модулей, могу ли я использовать некоторую другую сравнительную модель, которая будет работать с плавающей точкой, реляционными и логическими операциями?