Matlab: Chamar repetidamente a mesma função de mex de um loop sobrecarrega demais?

Eu tenho um código Matlab que precisa ser acelerado. Por meio de criação de perfil, identifiquei uma função específica como o culpado de atrasar a execução. Essa função é chamada centenas de milhares de vezes em um loop.

Meu primeiro pensamento foi converter a função para mex (usando Matlab Coder) para acelerar. No entanto, o senso de programação comum me diz que a interface entre o Matlab e o código mex poderia levar a alguma sobrecarga, o que significa que chamar essa função mex milhares de vezes pode não ser uma boa ideia. Isso está correto? Ou o Matlab faz alguma mágica quando é o mesmo mexendo repetidamente para remover a sobrecarga?

Se láé sobrecarga significativa, estou pensando em reestruturar o código, de modo a adicionar o loop para a função em si eentão criando um mex disso. Antes de fazer isso, gostaria de validar minha suposição para justificar o tempo gasto com isso.

Atualizar:

Eu tentei a sugestão do @ angainor e criei o donothing.m com o seguinte código:

function nothing = donothing(dummy) %#codegen
nothing = dummy;
end

Então, eu criei uma função mex desse como donothing_mex e tentei o seguinte código:

tic;
for i=1:1000000
    donothing_mex(5);
end
toc;

O resultado foi que um milhão de chamadas para a função levou cerca de 9 segundos. Esta não é uma sobrecarga significativa para os nossos propósitos, então por agora eu acho que vou converter a função chamada sozinho para mex. No entanto, chamar uma função de um loop que executa cerca de um milhão de vezes parece uma idéia muito estúpida em retrospecto, considerando que este é um código crítico de desempenho, então mover o loop para a função mex ainda está nos livros, mas com prioridade menor.

questionAnswers(3)

yourAnswerToTheQuestion