Borrar filtros
Borrar filtros

Generate Code for classes methods

36 visualizaciones (últimos 30 días)
Net Fre
Net Fre el 9 de Jul. de 2024 a las 8:55
Respondida: Pratyush el 11 de Jul. de 2024 a las 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!

Respuestas (1)

Pratyush
Pratyush el 11 de Jul. de 2024 a las 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.

Categorías

Más información sobre MATLAB Algorithm Acceleration en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by