Opened 13 years ago

Last modified 7 years ago

#1646 new defect

Performance of synthetic testcase — at Version 2

Reported by: Martin Sjölund Owned by: Martin Sjölund
Priority: high Milestone: Future
Component: Frontend Version:
Keywords: Cc: Martin Sjölund

Description (last modified by Martin Sjölund)

model CheckInstantiationLimit
  extends M(i=1);

package P
  constant Integer limit=10;
end P;

model N
  parameter Integer i;
  M m(i=i+1) if i <P.limit;
end N;

model M
  parameter Integer i;
  N n(i=i+1) if i<P.limit;
end M;

end CheckInstantiationLimit;

Scales P.limit^3, see the table below:

100 0.19
200 1.07
400 8.20
500 16.5

Change History (2)

comment:1 by Per Östlund, 13 years ago

This model scales even worse:

model Faculty
  extends N(i = limit);
  constant Integer limit;

  model N
    constant Integer i;
    constant Integer result = if i == 1 then 1 else i * m.result if i > 0;
    M m(i = i - 1) if i > 0;
  end N;

  model M
    constant Integer i;
    constant Integer result = if i == 1 then 1 else i * m.result if i > 0;
    N m(i = i - 1) if i > 0;
  end M;
end Faculty;

model M
  Faculty f(limit = 15);
  constant Integer result = f.result;
end M;

For me it scales like:

limit     time
 5        0.05
10        0.6
15        22

comment:2 by Martin Sjölund, 12 years ago

Cc: sjoelund.se, → sjoelund.se
Component: Backend
Description: modified (diff)
Note: See TracTickets for help on using tickets.