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

Re: Re[2]: Dylan performance



By the way, when t1 and t2 are defined at the top level like this:

define constant t1 = make(<float-array>, dimensions: list(300, 300),
fill: 0.0);
define constant t2 = make(<float-array>, dimensions: list(300, 300),
fill: 0.0);

it is evident from the dispatch coloring, that Function Developer is not
optimizing the array accesses.  But when t1 and t2 are defined inside
the method body:

define method calculate (nx :: <integer>, ny :: <integer>, nt ::
<integer>)
  let t1 = make(<float-array>, dimensions: list(nx, ny), fill: 0.0);
  let t2 = make(<float-array>, dimensions: list(nx, ny), fill: 0.0);

Functional Developer is able to a optimize the array accesses.  Can
someone explain why Functional Developer is not able to optimize the
first case?


Sent via Deja.com
http://www.deja.com/



Follow-Ups: References: