Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Replace some maps with `TimeSliceID`s as keys in agent investment code with simple `Vec`s

Aperta
#706 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Refactoring
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
rust
Ambito
backend

Direzione di ricerca

Individua il codice per gli investimenti degli agenti e identifica le map indicizzate per TimeSliceID, insieme alle map di flusso e domanda menzionate nell’issue. Traccia il modo in cui si accede ai valori tra le diverse fasce temporali prima di decidere quali layout di Vec preservino l’ordine e il comportamento. Il lavoro è completato quando le map rilevanti sono sostituite da strutture ordinate basate su Vec e il codice interessato continua a funzionare.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

performance question

(The Vecs should be ordered by TimeSliceID, obviously!)

I think this will make the code simpler and will also be much easier for the compiler to optimise. We don't care about performance that much at this stage, but it seems sensible to try to get the design right sooner rather than later.

As part of this I think we should change various flow/demand maps to be something like HashMap<(CommodityID, RegionID>, Vec<Flow>> instead, so we can get the values for all time slices in one step.

Lingua principale
Rust
Stelle
8
Fork
5
Merge medio
17h 47m
PR unite (30g)
29

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di EnergySystemsModellingLab/MUSE2

Tutte le issue di EnergySystemsModellingLab/MUSE2

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.