nathlal asked . 2021-10-04
How to Make m script run faster?
Hi,
I am working on a big model, I have a .m script which adds relative folders path in matlab and imports variables into workspace by calling another .m file.
The problem is it taking a lot of time to complete, more than 80s .
Is it possible to bring it down to 10s.
variable import , calling .m files
John Michell answered . 2024-12-21 17:36:41
Just wanting your code to run more quickly is not going to work. There is no magical way to just automatically make your code run faster. If there was, surely it would be used all the time. Do you think they would have already implemented things like an 8 times speed bump, if it was trivial?
Can you make your code run more quickly? Well, yes. You can learn to use the profile tool.
help profile
or
doc profile
This will tell you where your code has bottlenecks. Then you learn to write better code, to get around the time problems. You can very often acheive 10x or even 100x speed improvements. But that means you need to learn to write better code. AND you need to learn where to focus your efforts.
Can you make you code run 8 times as fast just by some magical incantations? NO. There is no simple fix. In SOME cases, you can enhance the speed using the GPU, or by learning to use the parallel processing toolbox (IF you have it.) That will not always be the case however. And it WILL require you to learn a lot, and to essentially change your code in some ways, at least how you use that code.
Or, you can buy or rent a faster, bigger computer. Since you want it to be 8 times as fast, I would recommend a computer that is roughly 8 times as fast. They get expensive. Money always works, as long as you have enough of it to throw around. Feel free to send some my way. :)
So start by learning where your code runs slowly. And learn to write better code in those parts. That will almost always give you huge speed improvements, because if you are a relatively new user, this also means your code is written extremely inefficiently.
Not satisfied with the answer ?? ASK NOW