Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.1-rc-2
-
None
-
None
-
Sun T2000, Solaris 10
Description
Continuation of
http://www.nabble.com/Groovy-Script-Engine-performance-on-a-Solaris-T2000-tf4000332.html#a11363710
Short story is that my team is selecting an embedded scripting language. Environment is Sun t2000 hardware capable of running 32 concurrent threads. The test essentially measures call overhead of many java threads calling through script to Java again.
We just verified that 1.1 RC2 performance is improved versus early 1.1 betas, but comparitive testing versus Rhino is poor.
- Rhino runs 7% faster than RC2 for the script30 case,
- Rhino runs 55% faster than RC2 for the script300 case (which of course is the test case most important to us).
Groovy test case is attached to aforementioned post. Rhino test case is attached to this JIRA.
Rhino versus RC2
~98% CPU Utilization
[java] Running ./target/classes/script30.js
[java] Test completed: 1.28E8 scriptExecutions in 571.006 seconds
[java] 224165.77058734937 scriptExecutions/second
7.6% increase over groovy rc2
[java] Running ./target/classes/script60.js
[java] Test completed: 6.4E7 scriptExecutions in 563.637 seconds
[java] 113548.25889712706 scriptExecutions/second
12.4% increase over groovy rc2
[java] Running ./target/classes/script120.js
[java] Test completed: 1.6E7 scriptExecutions in 286.19 seconds
[java] 55906.914986547396 scriptExecutions/second
13.6% increase over groovy rc2
[java] Running ./target/classes/script240.js
[java] Test completed: 1.6E7 scriptExecutions in 551.776 seconds
[java] 28997.274256219916 scriptExecutions/second
19.4% increase over groovy rc2
[java] Running ./target/classes/script300.js
[java] Test completed: 1.6E7 scriptExecutions in 1199.998 seconds
[java] 13333.355555592592 scriptExecutions/second
55% increase over groovy rc2
RC2 versus beta2
> ~98% CPU Utilization
>
> [java] Running script30.groovy
> [java] Test completed: 1.28E8 scriptExecutions in 614.819 seconds
> [java] 208191.35387813326 scriptExecutions/second
> 66% increase over beta-2
>
> [java] Running script60.groovy
> [java] Test completed: 6.4E7 scriptExecutions in 633.929 seconds
> [java] 100957.67822579501 scriptExecutions/second
> 59% increase over beta-2
>
> [java] Running script120.groovy
> [java] Test completed: 1.6E7 scriptExecutions in 325.284 seconds
> [java] 49187.7866725692 scriptExecutions/second
> 57% increase over beta-2
>
> [java] Running script240.groovy
> [java] Test completed: 1.6E7 scriptExecutions in 658.9 seconds
> [java] 24282.895735316437 scriptExecutions/second
> 57% increase over beta-2
>
> [java] Running script300.groovy
> [java] Test completed: 1.6E7 scriptExecutions in 1859.964 seconds
> [java] 8602.317034093134 scriptExecutions/second
> 35% increase over beta-2
>
The results from groovy-all-minimal 1.1-beta-2.
> ~98% CPU Utilization
>
> [java] Running script30.groovy
> [java] Test completed: 1.28E8 scriptExecutions in 1022.053 seconds
> [java] 125238.12365894919 scriptExecutions/second
>
> [java] Running script60.groovy
> [java] Test completed: 6.4E7 scriptExecutions in 1008.734 seconds
> [java] 63445.8638253494 scriptExecutions/second
>
> [java] Running script120.groovy
> [java] Test completed: 1.6E7 scriptExecutions in 512.649 seconds
> [java] 31210.438331099835 scriptExecutions/second
>
> [java] Running script240.groovy
> [java] Test completed: 1.6E7 scriptExecutions in 1035.213 seconds
> [java] 15455.75644818989 scriptExecutions/second
>
> [java] Running script300.groovy
> [java] Test completed: 1.6E7 scriptExecutions in 2511.876 seconds
> [java] 6369.741181491442 scriptExecutions/second
>