Performance

TO SUPPORT MY WORK, ORDER A COMMERCIAL LICENSE
THANK YOU!

Tutorial Math Collection API spec Download

mXparser was separately written in JAVA and C# – this allows to cover significant part of possible applications and platforms, including JAVA, Android, .NET and MONO. Solution performance highly depends on the usage type (different API functions, inserted formulas), thus performance tests were prepared in several different scenarios.

Calculation tests

  • Simple calculation – expression defined once, the recalculated.
  • Expression with argument – expression  defined once, then recalculated – this scenario gives information how mXparser behaves for typical application, where argument is changing without changing the formula.
  • Expression with user defined function – expression  defined once, then recalculated – this is another example of typical application, where expression and function is defined once, and only recalculated after changing arguments values.

API tests

Definition of constant, argument, functions, expression – currently mXparser supports two types of constructors:

  • One string, i.e. “x = 5”, “f(x,y) = sin(x) + cos(y)” – much slower method, as it requires deeper checking using regular expressions, then tokenizing for extraction of names, etc.
  • Object name, object params much faster, only object name is being verified against specified regular expressions.

Conclusions

  • JAVA 1.8 API is much faster than .NET when we consider Windows 10 and the newest .NET 4.0 and above
  • Mono 4.2 API on Windows 10 is much slower than .NET 4.0 and above
  • JAVA 1.7 API is only slightly faster than .NET in case of Windows 7 and the .NET 2.0
  • JAVA 1.5 API is far much slower than JAVA 1.6, 1.7, 1.8
  • Mono 3.2.1 API is much faster than JAVA 1.8 on Rapsberry Pi 2

Please refer to the performance test details.

Enjoy 🙂

Nuget
Install-Package MathParser.org-mXparser -Version 5.0.2
Maven
<dependency>
<groupid>org.mariuszgromada.math</groupid>
<artifactid>MathParser.org-mXparser</artifactid>
<version>5.0.2</version>
</dependency>
Gradle
implementation 'org.mariuszgromada.math:MathParser.org-mXparser:5.0.2'
Gradle (Kotlin)
implementation("org.mariuszgromada.math:MathParser.org-mXparser:5.0.2")
GitHub
git clone https://github.com/mariuszgromada/MathParser.org-mXparser
OTHER DOWNLOAD OPTIONS

Download latest release – v.5.0.2 Leonis: bin + docDownload latest release – v.5.0.2 Leonis: bin only, includes separate binaries for various .NET platforms and Java versions

NEWS FROM MATHPARSER.ORG
SOURCE CODE

Source code .zipSource code .tar.gz
View on GitHubMathSpace.pl

DONATION
Did you find the software useful?
Please consider donation 🙂
DONATE