Performance – Windows 10 – JAVA vs .NET vs MONO

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

Tutorial Math Collection API spec Download

Hardware & software used for performance testing

mXparser performance tests – Windows 10 – JAVA 1.8 vs .NET 4.0 vs MONO 4.2

  • Windows 10 64 bit (PC)
  • Pentium (R) Dual-Core E5300 2.6 Ghz – OC to 3.5 GHz
  • 4GB RAM DDR2
  • Java version – 1.8.0_66
  • .NET version – 4.0.30319
  • MONO version – 4.2.1
  • Threads number – 2
Id Oper / Task Iter [#] JAVA .NET MONO Test descr
0 2+3 20 m 8.5 m/s 5.1 m/s 2.4 m/s Simple calculations – addition. Expression created once. Iteration: repeatedly recalculated same expression.
1 2*3 20 m 9.5 m/s 5.0 m/s 2.4 m/s Simple calculations – multiplication. Expression created once. Iteration: repeatedly recalculated same expression.
2 2/3 20 m 9.0 m/s 5.1 m/s 2.5 m/s Simple calculations – division. Expression created once. Iteration: repeatedly recalculated same expression.
3 2^3 20 m 7.4 m/s 4.1 m/s 2.3 m/s Simple calculations – power. Expression created once. Iteration: repeatedly recalculated same expression.
4 sin(3) 20 m 5.3 m/s 3.0 m/s 1.7 m/s Simple calculations – sinus. Expression created once. Iteration: repeatedly recalculated same expression.
5 2+3+4 20 m 5.6 m/s 2.3 m/s 1.2 m/s Simple calculations – 2 additions. Expression created once. Iteration: repeatedly recalculated same expression.
6 2+3+4+5 20 m 3.8 m/s 1.5 m/s 0.8 m/s Simple calculations – 3 additions. Expression created once. Iteration: repeatedlyrecalculated same expression.
7 2+(3+4)+5 20 m 2.5 m/s 1.2 m/s 0.6 m/s Simple calculations – 3 additions + 1 parenthesis. Expression created once. Iteration: repeatedly recalculated same expression.
8 (2+3)+(4+5) 20 m 2.2 m/s 1.0 m/s 0.5 m/s Simple calculations – 3 additions + 2 brackets. Expression created once. Iteration: repeatedly recalculated same expression.
9 2+(3+(4+5)) 20 m 2.1 m/s 1.0 m/s 0.5 m/s Simple calculations – 3 additions + 2 brackets. Expression created once. Iteration: repeatedly recalculated same expression.
10 sin(2+(3*4)^2)/10 20 m 1.4 m/s 0.7 m/s 0.3 m/s Combination of different operations. Expression created once. Iteration: repeatedly recalculated same expression.
11 2+x 20 m 6.7 m/s 5.0 m/s 2.4 m/s Simple calculations – addition with argument. Expression created once, containing argument ‘x’. Iteration: argument value is being modified (increased), then expression is recalculated
12 3*f(x.y)-(2*x+3*y) 2 m 425 th/s 348 th/s 184 th/s User defined function f(x,y)=3x+4y. Expression &Function created once, containing argument ‘x’. Iteration: argument value is being modified (increased), then expression is recalculated
13 Constant c = new Constant(“c”. 5) 1 m 1.2 m/s 1.3 m/s 0.8 m/s Creating constants: Iteration: Constant c = new Constant(“c”, 5)
14 Constant c = new Constant(“c=5”) 100 th 12.0 th/s 2.5 th/s 1.5 th/s Creating constants: Iteration: Constant c = new Constant(“c=5”)
15 Argument x = new Argument(“x”. 5) 1 m 1.1 m/s 1.1 m/s 0.8 m/s Creating arguments: Iteration: Argument x = new Argument(“x”, 5)
16 Argument x = new Argument(“x=5”) 100 th 14.4 th/s 2.5 th/s 1.5 th/s Creating arguments: Iteration: Argument x = new Argument(“x=5”)
17 Function f = new Function(“f”. “x+y”. “x”. “y”) 1 m 362 th/s 328 th/s 221 th/s Creating functions: Iteration: Function f = new Function(“f”, “x+y”, “x”, “y”)
18 Function f = new Function(“f(x.y)=x+y”) 100 th 8.0 th/s 2.2 th/s 6.6 th/s Creating functions: Iteration: Function f = new Function(“f(x,y)=x+y”)
19 Expression e = new Expression(“sin(2+(3*4)^2)/10”) 1 m 8.3 m/s 8.6 m/s 4.8 m/s Creating expressions: Iteration: Expression e = new Expression(“sin(2+(3*4)^2)/10”)
20 Expression e = new Expression(“sin(2+(3*4)^2)/10”) 100 th 1.6 th/s 0.4 th/s 0.9 th/s Creating expressions + checking syntax: Iteration: Expression e = new Expression(“sin(2+(3*4)^2)/10”)
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