Performance - Windows 10 - JAVA vs .NET vs MONO

MathParser.org - mXparser - logo - High PerformanceHardware & software used for performance testing

*** If you found the software useful donation is something you might consider πŸ™‚ ***

If you found the software useful donation is something you might consider :-)

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")

Run your own performance tests

JAVA


java -cp mxparser.jar org.mariuszgromada.math.mxparser.regressiontesting.PerformanceTests

.NET - i.e.Β from the PowerShell


[Reflection.Assembly]::LoadFile("full\exact\path\to\mxparser.dll")
[org.mariuszgromada.math.mxparser.regressiontesting.PerformanceTests]::Start()

*** If you found the software useful donation is something you might consider πŸ™‚ ***

If you found the software useful donation is something you might consider :-)

Enjoy πŸ™‚

Best regards,

Mariusz Gromada

Download latest release – v.4.1.1 Aeries: bin + doc + src (.zip 13.4 MB)

Download latest release – v.4.1.1 Aeries: bin only (.zip 4.35 MB) – separate binaries for java: 1.5, 1.6, 1.7, 1.8; .NET: 2.0, 3.0, 3.5, 4.0, 4.5, 4.6, 4.7, .NET Core, .NET Standard, .NET PCL, Xamarin.Android, Xamarin.iOS

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