- Use a persistent variable to store the class instance.
- This avoids the overhead of creating the class every time a method is called.
- If your class inherits from 'handle', it can be modified without needing to recreate it, which can be more efficient.
- Utilize directives like 'coder.varsize' and 'coder.inline' to help MATLAB optimize the code generation process.
Generate Code for classes methods
2 views (last 30 days)
Show older comments
Hi.
This is more of a clarification question than a "how to", because I got the MATLAB answer and it works, but I have a question about it.
I have a class with several properties and methods. I would like to use code generation to make my script, which uses the class, run faster (specifically for now - using the .mex function). I saw that the solution for generating code from a class method is creating a function that constructs the class, and then calls the method, as described here.
My question is - doesn't it make things much less efficient? the code now, instead of calling just the method itself each time, the function needs to create the class just to call it - every time I want to use it. It becomes even more of a problem if I want to use several methods of the same class, each creating the class every time I call it.
Am I missing something? Is there a more efficient way to do this?
Thank you very much!
0 Comments
Answers (1)
Pratyush
on 11 Jul 2024
Hi,
Creating a class instance every time you want to call a method can indeed introduce overhead and reduce efficiency. You can try out the following to optimize the process:
Hope this helps.
0 Comments
See Also
Categories
Find more on MATLAB Algorithm Acceleration in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!