Opened 7 years ago
Last modified 3 years ago
#4851 new enhancement
Split the 16dae.c source file into multiple files — at Version 1
Reported by: | Francesco Casella | Owned by: | Willi Braun |
---|---|---|---|
Priority: | high | Milestone: | |
Component: | Code Generation | Version: | |
Keywords: | Cc: | Martin Sjölund |
Description (last modified by )
When compiling large models with -daeMode=new
, the lion's share of the compilation time on machines with multiple cores is taken by the 16dae.c file. This contains
- a large number of simple functions, each computing a residual
- the evaluateDAEResiduals function
- the getAlgebraicDAEVarNominals function
- the setAlgebraicDAEVars function
- the getAlgebraicDAEVars function
- the initializeDAEmodeData function
I would recommend at the very least to put each of the last five functions in separate C source files. It would also be good to split the first part of the file, containing the residual functions, in multiple chunks, as already done for the 06inz.c file, see ticket:3963#comment:6. This would dramatically speed up the code generation for large models, where C compilation is currently the bottleneck.
Note:
See TracTickets
for help on using tickets.