Filter löschen
Filter löschen

Generate Code for classes methods

36 Ansichten (letzte 30 Tage)
Net Fre
Net Fre am 9 Jul. 2024 um 8:55
Beantwortet: Pratyush am 11 Jul. 2024 um 8:42
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!

Antworten (1)

Pratyush
Pratyush am 11 Jul. 2024 um 8:42
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:
  • 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.
Hope this helps.

Kategorien

Mehr zu MATLAB Algorithm Acceleration finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by