#4775 closed defect (fixed)
Poor performance of frontend translating models with Modelica.Media
Reported by: | ulfsen | Owned by: | somebody |
---|---|---|---|
Priority: | high | Milestone: | 1.19.0 |
Component: | New Instantiation | Version: | v1.13.0-dev-nightly |
Keywords: | Cc: |
Description
Hi,
a test with Modelica.Fluid.Examples.HeatExchanger.HeatExchangerSimulation shows a bad performance of the frontend in comparison to older releases.
1.9.7 = 17 seconds
1.13.0-dev-425-g5056d0b (64-bit) = 36 seconds
Additionally, when working with multicomponent media, e.g. multiple species like Modelica.Media.IdealGases.MixtureGases.SimpleNaturalGas by changing
package Medium = Modelica.Media.Water.StandardWaterOnePhase;
to
package Medium = Modelica.Media.IdealGases.MixtureGases.SimpleNaturalGas;
In 1.9.7 = 27 seconds and
1.13.0-dev-425-g5056d0b (64-bit) = 52 seconds.
Could somebody check where in the front-end is the problem? Unfortunately the new frontend is still in progress but I have a model with 6 heat exchangers and the frontend needs 33 seconds with 1.9.7 but over 180 seconds with the nightly v.1.13 which makes it quite unusable (see attached .zip-file).
Attachments (1)
Change History (6)
comment:1 by , 7 years ago
by , 7 years ago
Attachment: | frontend_bench.zip added |
---|
comment:4 by , 3 years ago
Component: | Frontend → New Instantiation |
---|---|
Milestone: | Future → 1.18.0 |
Resolution: | → fixed |
Status: | new → closed |
The HeatExchangerSimulation
model takes 1.45s to flatten with the new frontend, compared to 18.04s with the old frontend. I think that's good enough to close this ticket.
comment:5 by , 3 years ago
Milestone: | 1.18.0 → 1.19.0 |
---|
The "bad" performance is known. The 1.13 front-end is handling replaceable in a more correct way, creating a unique scope whenever a replaceable model or component is used. The problem with that is that you have to redo instantiation for several classes. The 1.9.7 did not create unique scopes but that has the potential to basically be plain wrong in some cases because modifiers were lost.
We really hope to have a usable new front-end soon enough that will resolve these issues once and for all.