2 个版本

0.1.1 2023年1月15日
0.1.0 2023年1月15日

#12 in #expr

MIT 许可证

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