newlawrence / Calculate

Math Expressions Parser Engine
MIT License
34 stars 7 forks source link

Add Calculate to math-parser-benchmark-project #79

Open newlawrence opened 6 years ago

newlawrence commented 6 years ago

It is time to check how well does Calculate performs against the most popular C++ math expressions parsers out there. The math-parser-benchmark-project from the Github user @ArashPartow is the appropiate place to do so.

The objective is to achieve 100% accuracy. A pull request will be opened to polish some of Calculate's internals to achieve it.

The project has also been forked to add Calculate to the tests.

newlawrence commented 5 years ago

Β‘To celebrate the end of this year Calculate has been added to the math-parser-benchmark-project finally!

And the results aren't too bad :

Benchmark settings:
  - Expressions File is "bench_expr_all.txt"
  - Reference parser is ExprTk
  - Iterations per expression: 10000
  - Number of expressions: 210
  - Number of excessive failures: 4
  - Release build
  - Compiled with MSVC Version 1916
  - IEEE 754 (IEC 559) is Available
  - 32-bit build

Scores:
  #     Parser                  Type            Points   Score   Failures
  -----------------------------------------------------------------------
  00    ExprTk                  double            2021     100     0
  01    FParser 4.5             double            1564      56     2
  02    atmsp 1.0.4             double            1515      49     4
  03    muparser 2.2.4          double            1499      49     0
  04    TinyExpr                double            1123      41     3
  05    MTParser                double            1077      40     9
  06    MathExpr                double             962      30    12
  07    Calculate 2.1.1rc10     double             884      26     0
  08    Lepton                  double             457      10     4
  09    muparserx               double             243       6     0

Happy new year to everyone! πŸŽ‰ πŸŽ‰ πŸŽ‰