필터 지우기
필터 지우기

Static vs Object Method Performance Considerations

조회 수: 2 (최근 30일)
Abel
Abel 2012년 10월 18일
Are there any performance considerations regarding Static vs. object methods in MATLAB OOP?
  댓글 수: 6
Daniel Shub
Daniel Shub 2012년 10월 19일
@Matt J, It used to be that vectorization was the be all and end all of MATLAB since loops were slow. For over 10 years now MATLAB has had a JIT accelerator which often makes loops the same speed (and sometimes faster) than vectorized code.
Matt J
Matt J 2012년 10월 19일
편집: Matt J 2012년 10월 19일
@Abel - the problem with your test, though, is that even though you've declared your data constant, you have to execute the command "test.f" to access the data. This is something like calling an mfile function, I'd assume, and there is overhead associated with that. When the data you're processing is small in comparison to the overhead needed to access it, you get misleading results. I believe you even encountered the same issue here
@Daniel - the JIT has its benefits, bit it hasn't leveled the playing field completely. It will always be true, I think, that in a loop, if a function is given too small a chunk of data to process, the overhead from just launching the function (repeatedly) will kill you.

댓글을 달려면 로그인하십시오.

답변 (1개)

Daniel Shub
Daniel Shub 2012년 10월 19일
Dave Foti who manages the OOP group at TMW has a post on Loren's blog that touches on some of these issues.
For your example I am not sure how smart the MATLAB JIT accelartor is and when things get reallocated and refreshed. It seems to me that once getc1 and getc2 are loaded into memory (remember MATLAB parses and loads functions into memory), that they are identical.

카테고리

Help CenterFile Exchange에서 Programming에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by