OpenModelica wasm-jit from 2026-09-26 00:50:29 to 2026-09-27 08:35:28

Summary

OMC Commits35
Libraries Changed0
Number of Improvements39
Number of Regressions11
Number of Performance Improvements46
Number of Performance Regressions5

OpenModelica Changes

CommitDateAuthorSummary
41a658f0712026-09-26 21:30:59 +0200Adrian Pop[API] UML class diagrams of Modelica classes (#16938) (#16954)
e489bf737f2026-09-26 20:36:23 +0200Adrian Pop[Runtime] Link the Rust simulation runtime to OpenBLAS on MSYS2 (#16956) (#16957)
c1f0cd02072026-09-26 17:16:34 +0200kabdelhak[C] array division by scalar with the checks of DIVISION_SIM (#16951)
ea7450edf12026-09-26 17:16:09 +0200kabdelhak[NB] start values for the outputs of functions called in for equations (#16943)
7735c093562026-09-26 16:08:15 +0200Martin SjölundImport the Rust omc's data tables as dllimport (#16953)
64257c66f62026-09-26 16:07:56 +0200Adrian Pop[API] Def-use chains, dependency graph and go to definition (#16931) (#16940)
83d71f3e9b2026-09-26 14:25:32 +0200Martin SjölundScale chattering detection to the horizon (#16952)
e265772c132026-09-26 14:18:42 +0200kabdelhak[C] a KINSOL stall without any iteration only solves the system if the residual is small (#16942)
fc17eb503c2026-09-26 13:00:34 +0200kabdelhak[NB] array and record aware Cellier tearing (#16944)
7e0e9fb50c2026-09-26 12:46:12 +0200Martin SjölundMake the Rust simulation runtime the C default (#16913)
b5c682b1472026-09-26 00:35:50 +0200Martin SjölundRead flags in place instead of cloning the arrays
2cf91d86632026-09-25 23:33:42 +0200Martin Sjölundwasm-jit: hash the lowering's maps with foldhash
ce344b01f42026-09-25 23:33:23 +0200Martin Sjölundwasm-jit: dump arithmetic assert operands directly
0d5c1d35ec2026-09-25 23:28:48 +0200Martin SjölundStop jacEntryMagnitude once the entry is a literal
2a1774f3dd2026-09-26 09:14:10 +0200Martin SjölundHash the cref ident in place
f118e19d312026-09-26 09:11:34 +0200Martin SjölundDo not use slow nodes for tests that timeout (#16947)
414c7ae90e2026-09-26 02:54:03 +0200Martin Sjölundmmtorust: mc arm bindings shadow outputs
d60ce1a40d2026-09-26 02:25:58 +0200Martin Sjölundmmtorust: move owned pattern-let write-backs
3d7c8e1f8e2026-09-26 02:06:52 +0200Martin Sjölundmmtorust: keep SimCode.SimCode behind Ref
415eadc7b02026-09-26 02:06:52 +0200Martin Sjölundmmtorust: borrow write-back pattern-let subjects
5ef73250562026-09-26 01:19:45 +0200Martin Sjölundmmtorust: keep SimCodeVar.SimVar behind Ref
7a7e30750a2026-09-26 01:19:30 +0200Martin Sjölundmmtorust: sort indices in the native List.sort
94e79055402026-09-26 01:19:30 +0200Martin Sjölundmmtorust: last uses inside loops
42852dcdd62026-09-26 00:15:05 +0200Martin Sjölundmmtorust: keep BackendDAE.Var behind Ref
eba4052d1b2026-09-26 00:15:05 +0200Martin Sjölundmmtorust: own SOME(x) bindings of by-value matches
816cab42312026-09-25 23:46:21 +0200Martin Sjölundmmtorust: borrow read-only builtin arguments
86c3f958bc2026-09-26 04:49:00 +0200Martin Sjölundwasm-jit: vectorizable element-wise array kernels
6c5d6f175b2026-09-26 03:47:24 +0200Martin Sjölundnls: store a solution without moving the others
97afc872362026-09-26 03:10:39 +0200Martin Sjölundwasm-jit: array index checks as unlikely branches
9f5a7334132026-09-26 02:35:22 +0200Martin Sjölundwasm-jit: cheaper array allocation
c5b79627622026-09-26 02:12:56 +0200Martin Sjölundsolvers: format log values only when written
38f4e5091a2026-09-26 01:54:24 +0200Martin Sjölundnls: keep a small system's scratch off the heap
7ee7d3efac2026-09-26 01:03:13 +0200Martin Sjölundwasm-jit: lay error paths out of the hot code
e1d780cb622026-09-25 23:39:01 +0200Martin Sjölundwasm-jit: hold all-scalar records in locals
15a08c9bce2026-09-25 23:22:28 +0200Martin Sjölundwasm-jit: precompile side libraries by file name

OpenModelicaLibraryTesting Changes

CommitDateAuthorSummary
0329a8b2026-09-25 21:10:16 +0200Martin SjölundAdd a wasm-web job (#364)
950a4902026-09-23 21:18:33 +0200Martin SjölundAdd abortSlowSimulation for wasm-jit

Library Changes

LibraryChange

Models Affected

AixLibAixLib.Fluid.FixedResistances.Validation.PlugFlowPipes.PlugFlowAIT (sim)Simulate performance 53.83 → 14.23
AixLibAixLib.Fluid.Geothermal.Aquifer.Validation.NumberWells (sim)BackEnd performance 13.16 → 7.54
AixLibAixLib.Fluid.Storage.Examples.StorageBoiler (sim)Simulate performance 0:01:01 → 32.53
AixLibAixLib.Fluid.Storage.Examples.StorageSolarCollector (sim)Simulate performance 40.17 → 21.36
AixLibAixLib.ThermalZones.ReducedOrder.Examples.MultizoneInterzonalsFixedHeater (sim)Compile → Simulate
BuildSysProBuildSysPro.IBPSA.Fluid.FixedResistances.Validation.PlugFlowPipes.PlugFlowAIT (sim)Compile → Simulate
BuildSysProBuildSysPro.IBPSA.Fluid.Geothermal.Borefields.BaseClasses.Boreholes.BaseClasses.Functions.Validation.MultipoleThermalResistances_TwoUTube (sim)Simulate performance 10.40 → 4.96
BuildingSystemsBuildingSystems.Applications.DistrictSimulation.DistrictBerlinKreuzberg (sim)FrontEnd → Compile
BuildingSystemsBuildingSystems.Buildings.Airvolumes.Examples.AirElementsThermal3x3x1WithOpenings (sim)Compile → Simulate
BuildingSystemsBuildingSystems.Fluid.FixedResistances.Validation.PlugFlowPipes.PlugFlowAIT (sim)Simulate performance 59.04 → 14.79
BuildingSystemsBuildingSystems.Fluid.Geothermal.Borefields.BaseClasses.Boreholes.BaseClasses.Functions.Validation.MultipoleThermalResistances_TwoUTube (sim)Simulate performance 10.13 → 4.93
Buildings_11Buildings.DHC.Examples.Combined.SeriesConstantFlow (sim)Simulate performance 0:01:12 → 40.26
Buildings_11Buildings.DHC.Examples.Combined.SeriesVariableFlow (sim)Verify → Simulate
Buildings_11Buildings.DHC.Examples.Combined.SeriesVariableFlowAgentControl (sim)Simulate performance 57.20 → 27.20
Buildings_11Buildings.Fluid.FixedResistances.BuriedPipes.Examples.DiscretizedBuriedPipe (sim)Simulate performance 0:01:14 → 31.61
Buildings_11Buildings.Fluid.FixedResistances.Validation.PlugFlowPipes.PlugFlowAIT (sim)Simulate performance 56.06 → 14.11
Buildings_11Buildings.Fluid.Geothermal.Aquifer.Examples.CoolingOffice (sim)BackEnd performance 10.45 → 6.08
Buildings_12Buildings.DHC.Examples.Combined.SeriesVariableFlow (sim)Compile performance 11.43 → 6.11 Simulate performance 0:01:08 → 39.72
Buildings_12Buildings.DHC.Examples.Combined.SeriesVariableFlowAgentControl (sim)Simulate performance 0:01:00 → 27.55
Buildings_12Buildings.Fluid.FixedResistances.BuriedPipes.Examples.DiscretizedBuriedPipe (sim)Simulate performance 0:01:15 → 32.51
Buildings_12Buildings.Fluid.FixedResistances.Validation.PlugFlowPipes.PlugFlowAIT (sim)Simulate performance 56.75 → 14.66
Buildings_12Buildings.Fluid.Geothermal.ZonedBorefields.Examples.SeriesConnectedZones (sim)Simulate performance 34.29 → 15.37
Buildings_12Buildings.Fluid.Geothermal.ZonedBorefields.Validation.SteadyStateBoreholeDynamics (sim)Simulate performance 25.17 → 14.80
Buildings_12Buildings.Fluid.Geothermal.ZonedBorefields.Validation.TransientBoreholeDynamics (sim)Simulate performance 26.31 → 15.46
Buildings_latestBuildings.DHC.ETS.Combined.Examples.HeatRecoveryHeatPump (sim)Verify → Simulate
Buildings_latestBuildings.DHC.Examples.Combined.SeriesConstantFlow (sim)Compile performance 11.88 → 5.66 Simulate performance 0:01:06 → 38.82
Buildings_latestBuildings.DHC.Examples.Combined.SeriesVariableFlowAgentControl (sim)Simulate performance 0:01:38 → 0:04:00
Buildings_latestBuildings.DHC.Plants.Combined.Examples.AllElectricCWStorage (sim)Simulate performance 58.21 → 6.17
Buildings_latestBuildings.Fluid.FixedResistances.BuriedPipes.Examples.DiscretizedBuriedPipe (sim)Simulate performance 0:01:16 → 33.39
Buildings_latestBuildings.Fluid.FixedResistances.Validation.PlugFlowPipes.PlugFlowAIT (sim)Simulate performance 56.80 → 14.61
Buildings_latestBuildings.Fluid.Geothermal.Borefields.BaseClasses.Boreholes.BaseClasses.Functions.Validation.MultipoleThermalResistances_TwoUTube (sim)Simulate performance 10.08 → 4.87
Buildings_latestBuildings.Fluid.Geothermal.ZonedBorefields.Examples.SeriesConnectedZones (sim)Simulate performance 32.91 → 15.85
ChemicalChemical.Obsolete.Examples.AcidBase.Phosphate (sim)Compile → Simulate
ChemicalChemical.Obsolete.Examples.ClimateChange.ElectrolysisMethanation (sim)Compile → Simulate
ChemicalChemical.Obsolete.Examples.Hemoglobin.Allosteric_Hemoglobin2_MWC (sim)Compile → Simulate
ChemicalChemical.Obsolete.Examples.Hemoglobin.HemoglobinMultipleAllosteryCO (sim)Compile → Simulate
ChemicalChemical.Obsolete.Examples.WaterSublimation (sim)Compile → Simulate
Chemical_masterChemical.Obsolete.Examples.AcidBase.Phosphate (sim)Compile → Simulate
Chemical_masterChemical.Obsolete.Examples.ClimateChange.ElectrolysisMethanation (sim)Compile → Simulate
Chemical_masterChemical.Obsolete.Examples.Hemoglobin.Allosteric_Hemoglobin2_MWC (sim)Compile → Simulate
Chemical_masterChemical.Obsolete.Examples.Hemoglobin.HemoglobinMultipleAllosteryCO (sim)Compile → Simulate
Chemical_masterChemical.Obsolete.Examples.WaterSublimation (sim)Compile → Simulate
ClaRaClaRa.Components.Furnace.Check.Test_burner_adiabatic_fuelDrying (sim)Simulate performance 5.39 → 19.13
ClaRa_devClaRa.Components.Furnace.Check.Test_burner_adiabatic_fuelDrying (sim)Simulate performance 5.54 → 19.21
DynawoDynawo.Examples.IEEE57.TestCases.IEEE57DisconnectLine (sim)Compile → Simulate
DynawoDynawo.Examples.IEEE57.TestCases.IEEE57NoEvent (sim)Compile → Simulate
DynawoDynawo.Examples.RVS.TestCases.TestA.TestAAlphaBetaLoadNoRestorative (sim)Compile → Simulate
DynawoDynawo.Examples.RVS.TestCases.TestA.TestAAlphaBetaLoadRestorative (sim)Simulate performance 0:03:39 → 0:01:33
DynawoDynawo.Examples.RVS.TestCases.TestA.TestAShuntNoRestorative (sim)Simulate performance 0:02:19 → 0:01:00
DynawoDynawo.Examples.RVS.TestCases.TestB.TestBNoSvcLoadReset (sim)Simulate performance 0:03:00 → 57.67
DynawoDynawo.Examples.RVS.TestCases.TestB.TestBNoSvcNoLoadReset (sim)Simulate performance 0:03:01 → 0:01:26
DynawoDynawo.Examples.RVS.TestCases.TestB.TestBSvcLoadReset (sim)Simulate performance 0:03:36 → 0:01:07
DynawoDynawo.Examples.RVS.TestCases.TestB.TestBSvcNoLoadReset (sim)Compile → Simulate
Dynawo_devDynawo.Examples.IEEE57.TestCases.IEEE57DisconnectLine (sim)Compile → Simulate
Dynawo_devDynawo.Examples.IEEE57.TestCases.IEEE57NoEvent (sim)Compile → Simulate
Dynawo_devDynawo.Examples.RVS.TestCases.TestA.TestAAlphaBetaLoadNoRestorative (sim)Compile → Verify
Dynawo_devDynawo.Examples.RVS.TestCases.TestA.TestAAlphaBetaLoadRestorative (sim)Compile → Verify
Dynawo_devDynawo.Examples.RVS.TestCases.TestA.TestAShuntNoRestorative (sim)Simulate performance 0:02:02 → 0:01:08
Dynawo_devDynawo.Examples.RVS.TestCases.TestB.TestBNoSvcLoadReset (sim)Compile → Verify
Dynawo_devDynawo.Examples.RVS.TestCases.TestB.TestBNoSvcNoLoadReset (sim)Compile → Verify
Dynawo_devDynawo.Examples.RVS.TestCases.TestB.TestBSvcLoadReset (sim)Compile → Verify
Dynawo_devDynawo.Examples.RVS.TestCases.TestB.TestBSvcNoLoadReset (sim)Compile → Verify
ElectricBrakingElectricBraking.Examples.Rotational.SMPMBrakingRectifier (sim)Compile → Simulate
ElectricBrakingElectricBraking.Examples.Translational.SMPMBrakingRectifier (sim)Compile → Simulate
IBPSA_latestIBPSA.Fluid.FixedResistances.Validation.PlugFlowPipes.PlugFlowAIT (sim)Simulate performance 59.98 → 14.96
IBPSA_latestIBPSA.Fluid.Geothermal.Borefields.BaseClasses.Boreholes.BaseClasses.Functions.Validation.MultipoleThermalResistances_TwoUTube (sim)Simulate performance 10.11 → 4.87
IDEASIDEAS.Fluid.FixedResistances.Validation.PlugFlowPipes.PlugFlowAIT (sim)Simulate performance 59.80 → 15.09
IDEASIDEAS.Fluid.Geothermal.Aquifer.Validation.SimulationTest (sim)Simulate → Templates
IDEASIDEAS.Fluid.Geothermal.Borefields.BaseClasses.Boreholes.BaseClasses.Functions.Validation.MultipoleThermalResistances_TwoUTube (sim)Simulate performance 10.01 → 4.92
IDEAS_devIDEAS.Fluid.FixedResistances.Validation.PlugFlowPipes.PlugFlowAIT (sim)Simulate performance 0:01:00 → 15.04
IDEAS_devIDEAS.Fluid.Geothermal.Aquifer.Validation.SimulationTest (sim)Templates → Simulate
IndustrialControlSystemsIndustrialControlSystems.Applications.ProcessControl.LevelControl (sim)Compile → Simulate
MEVMEV.Simulations.LinearControl.Scenario1 (sim)Simulate performance 13.88 → 5.25
ModelicaTest_3.2.3ModelicaTest.Fluid.TestExamplesVariants.BranchingDynamicPipes_MomentumSteadyState (sim)Verify → Compile
Modelica_4.0.0Modelica.Electrical.Machines.Examples.InductionMachines.IMC_YDarc (sim)Simulate → Verify
Modelica_DeviceDriversModelica_DeviceDrivers.Blocks.Examples.TestSerialPackager_UDPExternalTrigger (sim)Simulate → Compile
OpenIPSL_devOpenIPSL.Tests.GFCs.GFMs.REGFMA1LightEncapsulate.CombiningComponents (sim)Compile → Simulate
PharmacolibraryPharmacolibrary.DevModels.SingleDoseIntravenousWholeBody (sim)Compile → Simulate
PhotoVoltaics_TGMPhotoVoltaics_TGM.TGM_Comax_Measurement_20160629 (sim)Templates → Simulate
PhotoVoltaics_TGMPhotoVoltaics_TGM.TGM_Comax_Measurement_20160704 (sim)Simulate performance 21.34 → 1.15
PhotoVoltaics_TGMPhotoVoltaics_TGM.TGM_Comax_Measurement_20160808 (sim)Templates → Simulate
PhotoVoltaics_TGMPhotoVoltaics_TGM.TGM_Trina_Measurement_20160629 (sim)Simulate performance 17.70 → 1.21
PhotoVoltaics_TGMPhotoVoltaics_TGM.TGM_Trina_Measurement_20160704 (sim)Simulate performance 16.34 → 1.21
PhotoVoltaics_TGMPhotoVoltaics_TGM.TGM_Trina_Measurement_20160808 (sim)Simulate performance 16.66 → 1.15
PowerGridsPowerGrids.Examples.IEEE14bus.IEEE14busLoad2Variation (sim)Simulate → Verify
PowerGrids_devPowerGrids.Examples.IEEE14bus.IEEE14busGen2Disconnection (sim)Simulate → Compile
PowerSystemsPowerSystems.Examples.AC3ph.Generation.TieLine (sim)Simulate performance 43.19 → 23.75
PowerSystems_latestPowerSystems.Examples.AC3ph.Generation.TieLine (sim)Simulate performance 43.20 → 23.70
SOFCPoliMiSOFCPoliMi.Tests.BenchmarkSalogniColonnaIEA (sim)Compile → Simulate
ScalableTestGrids_nooptScalableTestGrids.Models.Type1.Type1_N_8_M_4 (sim)FrontEnd → Compile
ScalableTestGrids_nooptScalableTestGrids.Models.Type2.Type2_noTap___N_3_M_4 (sim)FrontEnd performance 13.90 → 6.60
ScalableTestGrids_nooptScalableTestGrids.Models.Type2.Type2_tapEv___N_2_M_2 (sim)Simulate → Compile
ScalableTestGrids_nooptScalableTestGrids.Models.Type2.Type2_tapNoEv_N_2_M_2 (sim)Simulate → Compile
ScalableTestSuiteScalableTestSuite.Electrical.DistributionSystemDC.ScaledExperiments.DistributionSystemModelicaActiveLoads_N_80_M_80 (sim)Simulate performance 20.72 → 11.31
ThermoPowerThermoPower.Examples.CISE.Simulators.CISESim180503 (sim)Simulate → Compile
ThermoPowerThermoPower.Examples.CISE.Simulators.CISESim180504 (sim)Simulate performance 33.63 → 0.34
ThermoSysProThermoSysPro.Properties.WaterSteamSimple.Validation.Bench.Test1_IF97 (sim)Simulate performance 3.18 → 10.61
ThermofluidStreamThermofluidStream.Examples.EspressoMachine (sim)Verify → Simulate
ThermofluidStream_devThermofluidStream.Examples.EspressoMachine (sim)Verify → Simulate
ThermofluidStream_devThermofluidStream.Undirected.Boundaries.Tests.Tank_upsideDownBottle (sim)Compile → Simulate
URDFModelica_mainURDFModelica.Examples.Physics.PhysicsTest (sim)Simulate performance 8.04 → 14.73