MATLAB: Are Simulink buses performance effective

bus objectsbusesMATLABperformancesimulinkstruct

I have a Simulink program that uses structs, or buses as they are called in Simulink. The Simulink program contains a Matlab function and it's convenient to use structs in that function. The Simulink program uses several buses and some of them are inherited or propagated through in a hierarchy.
Are they any effective, performance-wise? Is it better to store a struct variable in a bus object and call the variable compared to create the variable within the Matlab code?

Best Answer

When I asked the question I didn't know a way to investigate the performance of a Matlab function within a compiled Simulink program. Unfortunately Profiler cannot be used. Though, it was found that "tic toc" can be used.
Made a rough performance analysis, it seems that the structs/buses have some overhead. In my code it's for example 25% faster to call a subfunction that creates a 6x6 matrix from a 6x1 vector each timestep instead of creating it once the first timestep and store it in a bus and just retrieve it each timestep. Heavier operations like matrix inverse or backslash are though better to do once and store the result in a bus.
Consequently, do not rely on buses for optimum performance.