Commit f052940
Apply __OpenModelica_simulationFlags to wasm-jit
The annotation was only read for `simCodeTarget=C`, so a model asking
for a specific solver got it in the C run and the default `dassl` in
the wasm-jit one. That is not a like-for-like comparison, and where the
annotation exists it is usually there because the default solver copes
badly: ScalableTestSuite's CocurrentHeatExchangerEquations asks for
`ida` (sparse, KLU), and dassl's dense factorization made the wasm-jit
runs scale cubically instead of linearly.
| N | dassl | ida (annotation) | C, ida |
| ---- | ------ | ---------------- | ------ |
| 320 | 3.7s | 0.34s | 0.4s |
| 640 | 31.9s | 1.01s | 0.85s |
| 1280 | >600s | 2.82s | 1.9s |
The C path validates each flag by running the HelloWorld executable
with it. wasm-jit builds no executable — the runtime is inside omc — so
probe it there instead, by simulating a trivial model through the
session that is already open.
Co-authored-by: Claude <noreply@anthropic.com>1 parent 65f890e commit f052940
1 file changed
Lines changed: 14 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
410 | 410 | | |
411 | 411 | | |
412 | 412 | | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
413 | 423 | | |
414 | 424 | | |
415 | | - | |
| 425 | + | |
416 | 426 | | |
417 | 427 | | |
418 | 428 | | |
419 | 429 | | |
420 | 430 | | |
421 | 431 | | |
422 | | - | |
| 432 | + | |
423 | 433 | | |
424 | 434 | | |
425 | 435 | | |
426 | | - | |
| 436 | + | |
427 | 437 | | |
428 | 438 | | |
429 | | - | |
| 439 | + | |
430 | 440 | | |
431 | 441 | | |
432 | 442 | | |
| |||
0 commit comments