Is using classes vs. structures more computationally efficient? Especially with parallelization ? What about MATLAB Compiler?

18 次查看(过去 30 天)
There is a discussion about how classes help better structure the code and make more readable, and re-useable, but I haven't seen any comments regarding the efficiency? Both memory and speed?
Woould impemeneting the same simple code as structures + functions be more efficient then defining classes and calling methods?
What about when code is deployed as application using MATLAB compiler, or compiled into MEX?
Thanks,
-MK

采纳的回答

Walter Roberson
Walter Roberson 2021-6-26
Using struct has traditionally been more efficient, as searching for the correct method can be expensive.
The performance of classes was significantly worse before Mathworks implemented the Execution Engine several releases ago.
The performance for anything generated with MATLAB Compiler is the same as interactive, as MATLAB Compiler uses the same execution technology.
The performance for compiled code (C++ generated with MATLAB Coder) is different. A fair bit of research work went into C++ compiler technology to make classes more efficient than they were when C++ started out.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 C Shared Library Integration 的更多信息

产品


版本

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by