MATLAB R2022b applications/binaries in linux take longer to start.

3 vues (au cours des 30 derniers jours)
Pratik Chachad
Pratik Chachad le 14 Sep 2023
Commenté : Pratik Chachad le 21 Sep 2023
I have been seeing this problem where when I build an application in MATLAB R2022b using Application Compiler, and try to launch it via terminal by doing ./'nameofApplication' it takes way longer than expected.
However when I launch the same .m file which is used to build the application in MATLAB, its almost instantaneous.
Any idea what might be happening ? can it be the MATLAB runtime or the shared libraries that takes longer to load when runnning it standalone vs in MATLAB as a .m file ?

Réponse acceptée

Dhruv
Dhruv le 21 Sep 2023
Yes, it is possible that the MATLAB runtime or the shared libraries take longer to load when running a standalone MATLAB application/binary in Linux than when running the same .m file in MATLAB.
The reason is that when you run a standalone MATLAB application/binary, the MATLAB runtime and shared libraries have to be loaded into memory from scratch. Also, the MATLAB runtime has to initialize a number of things, such as the MATLAB workspace and the graphics system. All these factors can contribute to the process taking lot of time.
In contrast, when you run a .m file in MATLAB, the MATLAB runtime and shared libraries are already loaded into memory and initialized. This means that the .m file can start running much faster than a standalone MATLAB application/binary.
Here are some things you can do to try to reduce the startup time of standalone MATLAB applications/binaries in Linux:
  • Make sure that you are using the latest version of the MATLAB runtime and shared libraries.
  • If you are using the Application Compiler to build your applications, make sure that you are using the latest version of the compiler and that you are compiling your applications for the correct platform.
  • Try to reduce the size of your applications by removing any unnecessary code or resources.
I hope the above-mentioned suggestions will help reduce the delay time!
  1 commentaire
Pratik Chachad
Pratik Chachad le 21 Sep 2023
Hello Dhruv,
Thanks for your response! It now makes sense why it takes longer for a standalone application/binary to start while running .m file is almost instantaneous.
However here is my situation, I need to launch my applications/binaries within 4 secs as this is the requirment that needs to be satisfied by our project. On our older version of those applications which were built using R2012b, this requirment was met. However when we updated our scripts to 2022b from 2008b, seems like it does not meet that criteria any longer. So here are my follow-up questions.
  1. What change from MATLAB 2012b runtime (8.0) to 2022b runtime (9.13) might have caused this behavior ? The scripts have not changed other than updating functions that no longer exist.
  2. Is there a way of maybe pre-loading the shared libraries in the memory before starting the applications/binaries so that we don't have to load it each time ?
Will we helpful if you can help with these Questions.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur C Shared Library Integration dans Help Center et File Exchange

Produits


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by