Skip to content

Commit

Permalink
perf: optimizations for reference management
Browse files Browse the repository at this point in the history
- Store directly the reference list rather than the whole
  `ReferenceManager` structures
- Only process them once, when creating the `Program`
- Move them to the `SharedProgramData` member
- Convert to `Vec<HintReference>` and adapt the methods using it
  • Loading branch information
Oppen committed Jun 15, 2023
1 parent 09e5252 commit 51a72b4
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@
* perf: accumulate `min` and `max` instruction offsets during run to speed up range check [#1080](https://github.com/lambdaclass/cairo-rs/pull/)
BREAKING: `Cairo_runner::get_perm_range_check_limits` no longer returns an error when called without trace enabled, as it no longer depends on it

* perf: process reference list on `Program` creation only [#1214](https://github.com/lambdaclass/cairo-rs/pull/1214)
Also keep them in a `Vec<_>` instead of a `HashMap<_, _>` since it will be continuous anyway.
BREAKING:
* `HintProcessor::compile_hint` now receies a `&[HintReference]` rather than `&HashMap<usize, HintReference>`
* Public `CairoRunner::get_reference_list` has been removed

#### [0.5.2] - 2023-6-12

* BREAKING: Compute `ExecutionResources.n_steps` without requiring trace [#1222](https://github.com/lambdaclass/cairo-rs/pull/1222)
Expand Down

0 comments on commit 51a72b4

Please sign in to comment.