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 – Package Manager

Install-Package MathParser.org-mXparser -Version 6.0.0

Nuget – .NET CLI

dotnet add package MathParser.org-mXparser --version 6.0.0

Nuget – Package Reference

<PackageReference Include="MathParser.org-mXparser" Version="6.0.0"/>

Maven – Dependency

<dependency>
<groupid>
org.mariuszgromada.math</groupid>
<artifactid>
MathParser.org-mXparser</artifactid>
<version>
6.0.0</version>
</dependency>

Maven – Gradle

implementation 'org.mariuszgromada.math:MathParser.org-mXparser:6.0.0'

CMake – Dependency / FetchContent

include(FetchContent)
FetchContent_Declare(
MathParserOrgMxParser
GIT_REPOSITORY
https://github.com/mariuszgromada/MathParser.org-mXparser.git
SOURCE_SUBDIR
CURRENT/cpp/lib)
FetchContent_MakeAvailable(
MathParserOrgMxParser)
target_link_libraries(YourExecutable
MathParserOrgMxParser)

GitHub

git clone https://github.com/mariuszgromada/MathParser.org-mXparser

OTHER DOWNLOAD OPTIONS

Download latest release – v.6.0.0 Picon: .NET bin onlyDownload latest release – v.6.0.0 Picon: JAVA bin onlyDownload latest release – v.6.0.0 Picon: bin + doc

NEWS FROM MATHPARSER.ORG
SOURCE CODE

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

My other creative spaces

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