From: poctave on
Hi,

I am experiencing performance issues processing a 18x5500 matrix with daily reading reading of 200 devices. The processing involves computing certain metrics on device readings on dat T+0 and rank them, on day T+1 using the ranking perform another set of calculations on readings. While I have implemented this using for loops, I was wondering if there are quicker ways to do this, any advice will be helpful.

thanks
From: Steven Lord on

"poctave" <pk(a)partha.net> wrote in message
news:2027930390.145725.1274047149263.JavaMail.root(a)gallium.mathforum.org...
> Hi,
>
> I am experiencing performance issues processing a 18x5500 matrix with
> daily reading reading of 200 devices. The processing involves computing
> certain metrics on device readings on dat T+0 and rank them, on day T+1
> using the ranking perform another set of calculations on readings. While I
> have implemented this using for loops, I was wondering if there are
> quicker ways to do this, any advice will be helpful.

There may be quicker ways to do what you've implemented, but your
explanation doesn't go into enough detail to determine that. General pieces
of information that would be useful to know:

What version of MATLAB are you using?
What OS?
How long does your code take to run?
How long do you want it to take to run? [Note that there's no guarantee
that this will be achievable, but it will indicate whether your expectations
are reasonable. For example, if you wanted to recalculate Google PageRank
for the entire web in a minute, that's not reasonable unless you have a
monstrously large cluster and maybe not even then -- but if you expect to be
able to do that in a day, that's a bit better.]
Have you used the Profiler to locate any potential bottlenecks?
Does your code display any Code Analyzer (nee M-Lint) messages that could
indicate potential performance-decreasing issues?

--
Steve Lord
slord(a)mathworks.com
comp.soft-sys.matlab (CSSM) FAQ: http://matlabwiki.mathworks.com/MATLAB_FAQ


From: Ashish Uthama on
On Sun, 16 May 2010 17:58:39 -0400, poctave <pk(a)partha.net> wrote:

> Hi,
>
> I am experiencing performance issues processing a 18x5500 matrix with
> daily reading reading of 200 devices. The processing involves computing
> certain metrics on device readings on dat T+0 and rank them, on day T+1
> using the ranking perform another set of calculations on readings. While
> I have implemented this using for loops, I was wondering if there are
> quicker ways to do this, any advice will be helpful.
>
> thanks

Maybe if you posted sample code, CSSMer's might have some suggestions.

A better description of the data and processing will help too.
What do the dimensions mean? Is one of the dimensions T? or do you have
18x5500 for each T?