Executing one function slows down built-in functions in another independent function
Info
This question is closed. Reopen it to edit or answer.
Show older comments
Hi,
I encounter a strange speed problem. The problem is that executing one function slows down built-in functions in another independent function. Assume there are two functions, funcA() and funcB(). When I execute only funcB(), it takes 10 seconds. When I execute first funcA() and then funcB(), funcB() now takes 50 seconds. Moreover, if I first type "funcA()" in the command window and run it, and then type "funcB()" in the command window and run it, funcB() takes only 10 seconds. If I write a script as the following: " funcA(); funcB(); " and run this script, funcB() takes 50 seconds. I tried to insert "clear", "clear all" in between. funcB() still takes 50 seconds.
I used "profile" to find what is the part causing the slow down. It turns out some built-in functions become much slower, such as "max" and "bsxfun".
funcA() and funcB() uses different inputs and have no output. I also used breakpoints to check the I/Os of the slow built-in functions. The I/Os are exactly the same across all experiments.
I also used "top" to check the memory usage, but in all experiments I have a lot of free memory.
Does anyone have an idea about what is going on or how to debug this?
Thanks!
Answers (0)
This question is closed.
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!