Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Parallelise investment step

Open
#1,101 12 comments 0 reactions 1 assignee View on GitHub

@dalonsoa is already working on this.

Since Jul 20, 2026.

Assessment

This issue has not been assessed yet.

Description

enhancement muse xiii

Currently we don't have any parallel code, which keeps things simple, though we are leaving some performance on the floor, particularly for larger models.

Much of the investment code could be easily parallelised. The usual library for doing this in Rust is rayon, which provides convenient interfaces for parallel for loops etc. You can nest these parallel for loops and the jobs will be divided between cores appropriately.

Considerations:

  • If we are sharing data structures between threads, we might need to change to variants which allow this in some places (e.g. Arc rather than Rc)
  • As HiGHS already runs in parallel, with the number of threads set to the number of CPU cores by default, we may want to constrain this (this might take experimentation). At the very least, we should constrain it to rayon::current_num_threads().

We should find a big model (preferably a realistic one) to benchmark the code with before and after.

Dominant language
Rust
Stars
8
Forks
5
Avg merge
11h 31m
Merged PRs (30d)
33

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from EnergySystemsModellingLab/MUSE2

All issues in EnergySystemsModellingLab/MUSE2

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.