More multiplication operations require less time
조회 수: 17 (최근 30일)
이전 댓글 표시
I would expect the execution times for the 3 operations below to get longer and longer. Where have I misled myself? Is it an issue with tic/toc as the timing method, or something else?
A=rand(500,500,500);
tic;
A.*A;
toc;
tic;
A.*A.*A;
toc;
tic;
A.*A.*A.*A.*A.*A;
toc;
댓글 수: 0
채택된 답변
Walter Roberson
2023년 8월 29일
It is because you are not recording the output.
I introduced T0 here because I was noticing that in my tests, T1 (the first operation) was consistently slower than T2 (the second operation), and I suspected that time to parse or something similar was being allocated against the first operation. With the T0 introduced, the measured time for A.*A reduces.
A=rand(500,500,500);
tic;
T0 = A;
toc;
tic;
T1 = A.*A;
toc;
tic;
T2 = A.*A.*A;
toc;
tic;
T3 = A.*A.*A.*A.*A.*A;
toc;
댓글 수: 8
Walter Roberson
2023년 8월 30일
Oh, right, it makes sense for James to have done that work! (But it would also have made sense for John to have done it as part of his high precision packages.)
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Performance and Memory에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
