Huge time difference if function is called from within another function
Afficher commentaires plus anciens
Function A, when called directly, runs in 10 minutes. However, if function A is called by function B, and I run function B, the time spent of running function A is 100 minutes or so. Is this is a feature of Matlab?
Also, if I run two instances of Matlab, and run the same function on both these instances, can it happen that the first instance takes less time compared to the other?
2 commentaires
James Tursa
le 5 Août 2015
You need to give more information about what functions you are calling and how you are calling them. There is no generic 10x time penalty for calling a function from within another function.
tirupam goel
le 7 Août 2015
Réponses (1)
Walter Roberson
le 5 Août 2015
0 votes
What you describe could happen if function B restricts the number of threads to execute on, or opens a parpool that is smaller than the number of cores, and A is working with large matrices using data patterns that can normally be divided up into multiple cores automatically by BLAS or MLK or the like.
1 commentaire
tirupam goel
le 7 Août 2015
Catégories
En savoir plus sur Logical dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!