Skip to content

Commit 68b7004

Browse files
committed
40% speed improvement evaluating the expressions
1 parent 710e782 commit 68b7004

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

modules/mexpreval/src/lib.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,17 +49,15 @@ pub unsafe extern "C" fn eval_f_exprs(
4949
}
5050

5151
for (i, ptr) in exprs.iter().enumerate() {
52-
let index = exprs[0].offset_from(*ptr) as usize;
53-
54-
if exprs_cache.len() <= index {
52+
if exprs_cache.len() <= i {
5553
let c_str = CStr::from_ptr(*ptr);
5654
let s = c_str.to_str().unwrap();
5755
let expr = Expr::from_str(s).unwrap_or_else(|e| panic!("Error parsing expresion {}: {}", s, e));
5856

5957
exprs_cache.push(expr);
6058
}
6159

62-
let expr = &exprs_cache[index];
60+
let expr = &exprs_cache[i];
6361

6462
ydot[i] = expr
6563
.eval_with_context(&*ctx)

0 commit comments

Comments
 (0)