Opened 9 years ago

Closed 7 years ago

Last modified 7 years ago

#3856 closed defect (fixed)

Improve OM Performance

Reported by: Martin Sjölund Owned by: somebody
Priority: high Milestone:
Component: *unknown* Version:
Keywords: Cc:

Description

Generic ticket for performance improvements scheduled for OM 1.10

Change History (10)

comment:1 by Martin Sjölund, 9 years ago

Lookup issues (do not create IDENT(n), etc):
22db45900ed434f3bf9e824e5e0b788b43d731be/OMCompiler

Move debugging meta-data to only be constructed on a flag:
9c532799af4e2ba620dd60d7d9426190c33c1c6b/OMCompiler

Avoid printExpStr:
3b52462defaae0274d896846874e2a5dedff44bc/OMCompiler

Consume less memory traversing data structures:
d6544d1e86a17501edc9712b66243a4990c1fab1/OMCompiler
2aca7e47a607ff53b9ed74aebf9db3c72bb0d313/OMCompiler
390188e284afc2802ae08eb45e9116ee5e280be8/OMCompiler
12b9c58c79d4325fa9a61cac0a0ee84370f53e8b/OMCompiler
12997634ba5d8eff8fc929f1b65d8a4131bd9c7e/OMCompiler
dec85325dac1c736b76a41a79cd8170955770112/OMCompiler
c3cf1e9236d5b875f58e8b9778f4694d50692730/OMCompiler
2894deef313b0e94342468c79d18607912509c7c/OMCompiler
e44d63b88b90846046b3ab47c9adfcac7eeb16e1/OMCompiler
fd0af6a15e3feee091809b37ad9356ea82b28c9b/OMCompiler
8287b0b0ddf8200864f8fb196433a22ba03f810c/OMCompiler
f49dbc4a84d31db4208141069abd2b932042b82c/OMCompiler
98214dcfe0f1603eec2c52805f548c7883be6d00/OMCompiler
7f405eff6f130f47560cd7c0e44550b25da20a53/OMCompiler
9fef384bcc3bf1c723767f59df3e7e9fcffec83f/OMCompiler
acf466e4c9e96f73394d9fff67972877dd5d7d68/OMCompiler

Send environment (large data structure) to backend on a flag:
1ba0f8ab12951e12fa4adf4bcd4d5e3f5cb1c2d0/OMCompiler

Algorithmic changes:
70dd92aaebbcb11ae7ea1d227a345f03d39274ee/OMCompiler
0c33ef36338b4e54d96f4afd34c9eb51c242bdd2/OMCompiler
9c0d4845fc3328e38bd5513052fa0b67af2eaa97/OMCompiler
a204f67dd422d4cd16ce7b4c76d7b7dbae10572f/OMCompiler
a10e5cd14a47f91b2d07012932517a4b530ee1bc/OMCompiler
fc4de9ec85d04baa60a9a7c15bd4513c8cd2ab3e/OMCompiler
ad9aa799a4a4f88dbdefe52fe0092e7aad9c93fe/OMCompiler
8f17d04cca359bbc26d3a28cda0c1e66dc8366d9/OMCompiler
b4f223efad14ba3a886d59b481711d7441ff7722/OMCompiler
d7ed464b2a7f411292c24fc5bdedfc0d5a71b59a/OMCompiler
aea896ce34dffd0b9d8a32d5f9fdb1721b07a5fa/OMCompiler
28678f06807b4d68fad57d5f73520597fe2601d9/OMCompiler
34d31de30bef496d42f0233ee1804e7af0f554c3/OMCompiler
22754cb9db967521f839b3cf5fe8bec9597061a5/OMCompiler
18bb4e8a21aa8a210ae5834937254e72dd5b3d9d/OMCompiler
5ed2c5ed4b5f8ae82685d98c7ceeb8d9f5f050bf/OMCompiler
13e54206ff808b3818bb21b2c598205fedf952e6/OMCompiler
82e78ebd5f7616ea24ff4bf8598c72e978bad963/OMCompiler
971d7f1d9488de8d85f60fe846b0158b905f62bc/OMCompiler
cedd89a125f6aee7402bcab995521ab323264ba8/OMCompiler
3702bb9bd81a98203dc2919c1ab0651bb04fce8b/OMCompiler

Code generation in parallel:
8bf71c6dc8ff17b3fe1e5b123ab95ad105a366e9/OMCompiler
2ddae71332916f541f4bd5d779eb8f1ded3ada2a/OMCompiler

Code generation directly to file:
50cddbb45f3e3e5128043b691fb15a8c280ed47c/OMCompiler
eadffd4e43a2a90952ae39c2874483d76618c541/OMCompiler
58a87b7f299fc5ea9b962a0203d3f8e4c70bdd4c/OMCompiler
7ce091856df028c81d574aec15bf04ab574a0bcf/OMCompiler
6517ed8e735ca8e0fd5b516dd7f1b9c9888ae907/OMCompiler
ec5320e0e8426ee799f027ae96fe8109dda8fcde/OMCompiler

Better code generation:
9939891b3efa305530c13415fbd2dc6fd7f44932/OMCompiler
7251626eae07b7f934a2b13da2d76d676c9fa49c/OMCompiler
661329bf90363d4e33bef84557c3c1e8e171a527/OMCompiler

Scalability fixes (mainly affects models with >100k equations):
50ebc1fe6a3f601056b6f6389c4dbc0cf4ed44f8/OMCompiler
f98a3b2a67030a91e927e5c57abbcdb94d378e29/OMCompiler
b6f2d8ba13eb0b31e10a794d7a944bd1f77d4edf/OMCompiler
89a5ee4e30180d7d69f9ce7a2a399ab3be9e1179/OMCompiler
65736d134afb897da202872a0f5fc4e5cffa8d08/OMCompiler
44a9f5944a786a79270ad9f5f9f74bd57c7a200d/OMCompiler
4c591e7f4ea4b6c9dae8cef8eea6a1044c70a946/OMCompiler
95e3a3bed845b0c714cce32f1dd4585dfc2a3aab/OMCompiler
3f8822a5dc369fd50cabf0a863d1205a85e1e53f/OMCompiler
2f31423a90e7c096fdc1531b2a759f7658be57f1/OMCompiler

comment:2 by Martin Sjölund, 9 years ago

Remove unused parts from FGraph (minor gain for larger models):
ccb265a437b6496a76254d170ea0ad62a2015d55/OMCompiler

comment:3 by Martin Sjölund, 9 years ago

Less memory traversing data structures:
fbedcab0b307f40b7e555cafa47c39c4bea6084e/OMCompiler
463ca8e0580d096f97b482e83c2803037285ef0d/OMCompiler

Cache operator overloading:
d5d018738fdfacbbe30bb3dee09691a144affbbd/OMCompiler

Handle short class declarations faster (operator record ComplexVoltage = Complex(redeclare...)):
e44c8ffe2a39811260958fc841f3a53be7094c44/OMCompiler

Special case for list length=1:
25cc4ea0ba2a8e0b1d0b73b46412f87fc1d06016/OMCompiler

comment:4 by Adrian Pop, 9 years ago

Note to @adrpo: improve the fix for #3817 as is really slow for some models.

in reply to:  4 comment:5 by Adrian Pop, 9 years ago

Replying to adrpo:

Note to @adrpo: improve the fix for #3817 as is really slow for some models.

Speedup and less memory consumption in e2726c6/OMCompiler.

comment:7 by Martin Sjölund, 8 years ago

Milestone: 1.10.01.11.0

Ticket retargeted after milestone closed

comment:8 by Martin Sjölund, 8 years ago

Milestone: 1.11.01.12.0

Milestone moved to 1.12.0 due to 1.11.0 already being released.

comment:9 by Francesco Casella, 7 years ago

Milestone: 1.12.01.10.0
Resolution: fixed
Status: newclosed

comment:10 by Martin Sjölund, 7 years ago

Milestone: 1.10.0

Milestone deleted

Note: See TracTickets for help on using tickets.