You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* wip
* test passing
* more accurate bench
* fix
* perf: optimizations for reference management
- 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
---------
Co-authored-by: Pedro Fontana <[email protected]>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,12 @@
5
5
* perf: accumulate `min` and `max` instruction offsets during run to speed up range check [#1080](https://github.com/lambdaclass/cairo-rs/pull/)
6
6
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
7
7
8
+
* perf: process reference list on `Program` creation only [#1214](https://github.com/lambdaclass/cairo-rs/pull/1214)
9
+
Also keep them in a `Vec<_>` instead of a `HashMap<_, _>` since it will be continuous anyway.
10
+
BREAKING:
11
+
*`HintProcessor::compile_hint` now receies a `&[HintReference]` rather than `&HashMap<usize, HintReference>`
12
+
* Public `CairoRunner::get_reference_list` has been removed
13
+
8
14
#### [0.5.2] - 2023-6-12
9
15
10
16
* BREAKING: Compute `ExecutionResources.n_steps` without requiring trace [#1222](https://github.com/lambdaclass/cairo-rs/pull/1222)
0 commit comments