Skip to content

perf: improve many aspects of DSV performance#1592

Merged
triceo merged 31 commits into
TimefoldAI:mainfrom
triceo:perf
May 26, 2025
Merged

perf: improve many aspects of DSV performance#1592
triceo merged 31 commits into
TimefoldAI:mainfrom
triceo:perf

Conversation

@triceo

@triceo triceo commented May 14, 2025

Copy link
Copy Markdown
Collaborator

Less memory allocations.
Less map access.
Cleaner code structure.

Commits are cleanly isolated, so that it is possible to review each idea independently.

@triceo

triceo commented May 24, 2025

Copy link
Copy Markdown
Collaborator Author

@Christopher-Chianelli I addressed all your comments.
I also added extra commits with more improvements.

Please check the final commit - it seems to have broken a test, although I wasn't able to figure out how. As far as I can tell, the change is functionally equivalent to what was there previously. Please check if you can find out what went wrong - worst case, I revert the final commit.

(But I'd rather not to, because that commit takes MJS from 4.5G heap permanently occupied down to 3G.)

DefaultEdge[][] took 2GB of heap per thread in mid-size MJS problems.
Even though it did improve performance, such a hit would have made multi-threading practically impossible.
It would have also prevented us from solving large problems.
@triceo

triceo commented May 25, 2025

Copy link
Copy Markdown
Collaborator Author

Nevermind, fixed it.

@sonarqubecloud

Copy link
Copy Markdown

@triceo triceo merged commit 3a1c4cb into TimefoldAI:main May 26, 2025
42 of 43 checks passed
@triceo triceo deleted the perf branch May 26, 2025 18:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants