FFC can generated *very* large files with the tensor contraction
approach, especially when auxiliary problems like error estimation are
used. This makes compilation slow, and possibly fail.

The array A in the generated code often has a lot of zeroes. Would it be
sensible to

1. Initialise A to zero and then fill non-zero entries
        
  // Initialise (size is known at runtime, so compiler can optimise)
  for (unsigned int i = 0; i < size; ++i)
      A[i] = 0.0;

  // Nonzero terms of in        
  A[0]  = 1.0;
  A[22] = 2.0;
  A[23] = 1.0;


2. Format floating point numbers for compactness, e.g.

  A[0] = 0.0;
  A[1] = 1.0;

instead of

  A[0] = 0.00000000000;
  A[1] = 1.00000000000;

Garth

_______________________________________________
Mailing list: https://launchpad.net/~ffc
Post to     : ffc@lists.launchpad.net
Unsubscribe : https://launchpad.net/~ffc
More help   : https://help.launchpad.net/ListHelp

Reply via email to