-
Notifications
You must be signed in to change notification settings - Fork 97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Propagate known. #2325
base: main
Are you sure you want to change the base?
Propagate known. #2325
Conversation
Co-authored-by: Georg Wiese <[email protected]>
…r into single_step_simple
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Benchmarks'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20
.
Benchmark suite | Current: a3dc813 | Previous: b961239 | Ratio |
---|---|---|---|
jit-witgen-benchmark/jit_witgen_benchmark |
51511629019 ns/iter (± 46751484 ) |
32073282431 ns/iter (± 76394754 ) |
1.61 |
executor-benchmark/keccak |
437809691309 ns/iter (± 3274197576 ) |
16140744556 ns/iter (± 112427593 ) |
27.12 |
This comment was automatically generated by workflow using github-action-benchmark.
c485e72
to
78bb381
Compare
5932397
to
7770480
Compare
In the last line, the fact that it did not replace It probably also means that It also branched, but not sure if those are still active:
|
Co-authored-by: Georg Wiese <[email protected]>
16de5ab
to
2d9ce28
Compare
2d9ce28
to
c90b819
Compare
}); | ||
let mut progress = false; | ||
for (id, row_offset) in &self.identities { | ||
if witgen.process_identity(can_process.clone(), id, *row_offset)? { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to use a for loop here because of the ?
operator.
@@ -237,7 +233,7 @@ if (VM::instr_add[0] == 1) { | |||
col fixed INSTR_ADD = [0, 1] + [0]*; | |||
col fixed INSTR_MUL = [1, 0] + [1]*; | |||
pc' = pc + 1; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change was needed because otherwise, the system is not solvable. Do a case analysis of the allowed values for pc
and pc'
and you will see why.
@@ -186,7 +186,7 @@ impl<'a, T: FieldElement, FixedEval: FixedEvaluator<T>> WitgenInference<'a, T, F | |||
row_offset, | |||
rhs: VariableOrValue::Value(value), | |||
}); | |||
self.process_assignments(); | |||
self.process_assignments().unwrap(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should not lead to a conflict. If that happens, we can propagate the error, but this function is called in some places where it is difficult to propagate the error.
@@ -203,24 +203,71 @@ impl<'a, T: FieldElement, FixedEval: FixedEvaluator<T>> WitgenInference<'a, T, F | |||
row_offset, | |||
rhs: VariableOrValue::Variable(variable), | |||
}); | |||
self.process_assignments(); | |||
self.process_assignments().unwrap(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same here.
@@ -255,11 +302,6 @@ impl<'a, T: FieldElement, FixedEval: FixedEvaluator<T>> WitgenInference<'a, T, F | |||
let Some(new_range_constraints) = | |||
can_process_call.can_process_call_fully(lookup_id, &known, &range_constraints) | |||
else { | |||
log::trace!( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was very noisy and not really helpful.
@@ -363,7 +406,7 @@ impl<'a, T: FieldElement, FixedEval: FixedEvaluator<T>> WitgenInference<'a, T, F | |||
} | |||
} | |||
if progress { | |||
self.process_assignments(); | |||
self.process_assignments().unwrap(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Again, too lazy to propagate the error here. Let's see if it happens.
No description provided.