2 个版本
0.1.1 | 2023年1月15日 |
---|---|
0.1.0 | 2023年1月15日 |
#12 in #expr
25KB
613 行
crunch_eval
高性能代数表达式评估器。
基本用法
use crunch_eval::expr::Expr;
let expr = Expr::compile("1 + 1").unwrap();
let val: f64 = expr.evaluate_blank().unwrap();
assert_eq!(val, 2.0);
基准测试
表达式: 6.5*7.8^2.3 + (3.5^3+7/2)^3 -(5*4/(2-3))*4 + 6.5*7.8^2.3 + (3.5^3+7/2)^3 -(5*4/(2-3))*4 + 6.5*7.8^2.3 + (3.5^3+7/2)^3 -(5*4/(2-3))*4
编译长表达式所需时间
编译 | 时间/操作(微秒) |
---|---|
crunch_eval | 13.56 |
evalexpr | 32.36 |
计算长表达式的耗时
eval | 每操作的时间 (ns) |
---|---|
crunch_eval | 2.97 |
evalexpr | 5.96 |
表达式: double(x + 1)
带有变量和函数的表达式计算耗时
eval | 每操作的时间 (ns) |
---|---|
crunch_eval | 48.46 |
evalexpr | 341.83 |
lib.rs
:
高性能代数表达式评估器。
基本用法
use crunch_eval::expr::Expr;
let expr = Expr::compile("1 + 1").unwrap();
let val: f64 = expr.evaluate_blank().unwrap();
assert_eq!(val, 2.0);
依赖项
~465KB