[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Re: Speeding up code ???



PureBytes Links

Trading Reference Links

I was kind of looking forward to Tomasz'z response to this - it would
have been classic.  But, it looks like he is doing other things.  So,
I'll offer one quick observation while I'm here.

There are many speed-up opportunities available for a 123 ticker cross
correlation app.  But, the first is obvious.  The matrix is TRIANGULAR. 
If that doesn't ring a bell, Wiki it.  But the bottom line is that N*N
calculations are not need.  Assuming 1 for the diagonal N*(N-1)/2
calculations are enough - approximately 1/2.

So, this will cut your time considerable and there are some other things
such as SetBarsRequired() that will help also.  But your are still
calculating a lot of results and targets of fractions of a second are
probably not realistic.


--- In amibroker@xxxxxxxxxxxxxxx, "gmorlosky" <gmorlosky@xxx> wrote:
>
> Thanks - So I am really doing 123 * 123 in the orginal example... How
do I speed that up ?
>
> Yes - the example was a partial list as I left off some of the
"lesser" functions, but I have included all below (119 symbols).
>
>  Function name      Call Count      Total Time[ms]  Time per Call [ms]
>  StrExtract         120             0.530           0.004
>  CategoryGetSymbols   1             0.125           0.125
>  GetCategorySymbols   1             0.107           0.107
>  Param                6             0.038           0.006
>  paramcategory        1             0.034           0.034
>  ParamList            4             0.031           0.008
>  ParamToggle          4             0.031           0.008
>  NumToStr             1             0.030           0.030
>  StaticVarGet         3             0.019           0.006
>  array operator -     1             0.015           0.015
>  paramlistnum         1             0.014           0.014
>  ParamTrigger         2             0.010           0.005
>  _SECTION_BEGIN       1             0.008           0.008
>  Status               1             0.005           0.005
>  IIf                  2             0.003           0.002
>  StrLen               1             0.002           0.002
>  _SECTION_END         1             0.002           0.002
>  EnableScript         1             0.002           0.002
>  StrFind              1             0.002           0.002
>  EnableTextOutput     1             0.001           0.001
>  GetChartID           1             0.000           0.000
>
>
>
>
> --- In amibroker@xxxxxxxxxxxxxxx, Tomasz Janeczko groups@ wrote:
> >
> > The list looks incomplete.  Your formula probably uses
> > 123 * 123 (=15129) calls to Foreign function to generate heat map /
> > correlation for 123 symbols. That's
> > where it apparently spends most time.
> >
> > gmorlosky wrote:
> > > Explain something to me. This particular indicator code (HeatMap
of 123 symbols)runs like a dog (5 seconds or more to complete. I have no
plugins or scripting. The details of each function are below. Is it the
StrExtract and/or the *Symbols, that needs to be sped up ? and how ?
> > >
> > > Function name Call Count Total Time [ms] Time per Call [ms]
> > > StrExtract         123   0.563           0.005
> > > CategoryGetSymbols   1   0.403           0.403
> > > GetCategorySymbols   1   0.285           0.285
> > > Param                6   0.038           0.006
> > > ParamList            4   0.035           0.009
> > > Paramcategory        1   0.033           0.033
> > > ParamToggle          4   0.032           0.008
> > > NumToStr             1   0.030           0.030
> > > AddColumn            1   0.023           0.023
> > >
> > >
> > >
> > >
> > > ------------------------------------
> > >
> > > **** IMPORTANT PLEASE READ ****
> > > This group is for the discussion between users only.
> > > This is *NOT* technical support channel.
> > >
> > > TO GET TECHNICAL SUPPORT send an e-mail directly to
> > > SUPPORT {at} amibroker.com
> > >
> > > TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
> > > http://www.amibroker.com/feedback/
> > > (submissions sent via other channels won't be considered)
> > >
> > > For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
> > > http://www.amibroker.com/devlog/
> > >
> > > Yahoo! Groups Links
> > >
> > >
> > >
> > >
> > >
> >
>




------------------------------------

**** IMPORTANT PLEASE READ ****
This group is for the discussion between users only.
This is *NOT* technical support channel.

TO GET TECHNICAL SUPPORT send an e-mail directly to 
SUPPORT {at} amibroker.com

TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/