Opened 9 years ago
Last modified 7 years ago
#3418 new defect
Bad performance of Spice3BenchmarkFourBitBinaryAdder dominating MSL 3.2.1 tests — at Version 1
Reported by: | Adrian Pop | Owned by: | Lennart Ochel |
---|---|---|---|
Priority: | high | Milestone: | Future |
Component: | Backend | Version: | trunk |
Keywords: | Cc: | Martin Sjölund, Rüdiger Franke, Niklas Worschech, Marcus Walther, Willi Braun |
Description (last modified by )
The one model Modelica.Electrical.Spice3.Examples.Spice3BenchmarkFourBitBinaryAdder
dominates the time needed for testing MSL3.2.1 without producing good results.
The C runtime takes 6m40s to simulate that model. Afterwards the verification of 46/47 signals fails. Looking at the results, it appears possible that the C runtime doesn't appropriately adapt to the extreme short experiment(StopTime=1e-006, Interval=1e-009)
.
The C++ code generation takes 4m3s in the Templates phase (opposed to 20s for C code generation). C++ generates code for 171 algebraic loops (two code files for each of them). Many of the loops have a dimension of 1. See:
$ grep _dimAEq OMCpp*FourBit*Algloop*.cpp
Many of those are linear (checked Algloop 825, 920, 938, ...).
Shouldn't linear algebraic loops of dimension 1 be treated more efficiently?
Change History (1)
comment:1 by , 9 years ago
Cc: | added |
---|---|
Description: | modified (diff) |
Summary: | Handle static arrays with more than one dimension (matrices) → Bad performance of Spice3BenchmarkFourBitBinaryAdder dominating MSL 3.2.1 tests |