CellML Discussion List

Text archives Help


[cellml-discussion] Opinions wanted: Should CCGS performance improvements go into the 1.0 CellML API branch?


Chronological Thread 
  • From: ak.miller at auckland.ac.nz (Andrew Miller)
  • Subject: [cellml-discussion] Opinions wanted: Should CCGS performance improvements go into the 1.0 CellML API branch?
  • Date: Tue, 07 Nov 2006 12:54:50 +1300

David Nickerson wrote:
> Initial thoughts on 0.1rc1:
>
> Much improved integration performance, but have no time to fully test it ;-)
>
> It is painfully and prohibitively slow to load a model or to swap
> between models. Similarly for cloning a model. This seems true for both
> simple models with very few variables (i.e. 1952 Hodgkin & Huxley) and
> more complex models with many variables.
>
A big chunk of the problem was due to the time taken for the code
generation (the remaining issue is the time taken to fetch and translate
the data into the RDF used at the Mozilla-side to describe the tree
control contents). For the Zhang SAN model from Alan Garny (which was
one of the slower models for code generation), callgrind reported that
code generation took 1,947,794,509 CPU operations to generate the code
prior to revision 585. With only the revision 585 memoisation patch,
that is down to 1,376,183,895 ops. With the revision 586 patch (which
finds source variables for all variables at the beginning, using a
disjoint sets data-structure, instead of individually finding source
variables using the CellML API), the time was further reduced to
890,363,772 ops.

Revision 585 is a relatively minor, low risk change, which could
potentially be put onto the 1.0 branch of the CellML API if there was
sufficient interest in this. However, revision 586 is a much more
significant change, and it even changes the order of variables outputted
(order is supposed to be unimportant, but it still means the testsuite
had to be changed).

If you have any opinions on which patches should be merged into the 0.1
branch (as opposed to being kept on the trunk branch), please send it to
the list.

Best regards,
Andrew





Archive powered by MHonArc 2.6.18.

Top of page