I see that the recent release of Groovy 2.0 includes optional static compilation along with several other added benefits, like optional static type checking. After doing a bit of a search, I haven't been able to find any extensive benchmarks comparing Groovy's performance (with static compilation) to Java and perhaps Scala. Does anyone know of any such performance comparisons? Can we assume that it is the same as Groovy++ was before it died? If it's performance is comparable, would Groovy be a viable alternative for a large, performance-critical application?
What is the performance of Groovy 2.0 with static compilation
4.4k Views Asked by user1503949 At
2
There are 2 best solutions below
0
OlliP
On
I believe java runs those tests in around 550ms
I did some performance comparison with Java. For "static ternary" and "static if" performance of Groovy with @CompileStatic is somewhat the same as with Java. For "instance ternary" and "instance if" it's almost a factor of 2. See my blog post.
Related Questions in JAVA
- Add image to JCheckBoxMenuItem
- How to access invisible Unordered List element with Selenium WebDriver using Java
- Inheritance in Java, apparent type vs actual type
- Java catch the ball Game
- Access objects variable & method by name
- GridBagLayout is displaying JTextField and JTextArea as short, vertical lines
- Perform a task each interval
- Compound classes stored in an array are not accessible in selenium java
- How to avoid concurrent access to a resource?
- Why does processing goes slower on implementing try catch block in java?
- Redirect inside java interceptor
- Push toolbar content below statusbar
- Animation in Java on top of JPanel
- JPA - How to query with a LIKE operator in combination with an AttributeConverter
- Java Assign a Value to an array cell
Related Questions in SCALA
- Spark .mapValues setup with multiple values
- Where do 'normal' println go in a scala jar, under Spark
- Serializing to disk and deserializing Scala objects using Pickling
- Where has "Show Type Info on Mouse Motion" gone in Intellij 14
- AbstractMethodError when mixing in trait nested in object - only when compiled and imported
- Scala POJO Aggregator Exception
- How to read in numbers from n lines into a Scala list?
- Spark pairRDD not working
- Scala Eclipse IDE compiler giving errors until "clean" is run
- How to port Slick 2.1 plain SQL queries to Slick 3.0
- Log of dependency does not show
- Getting unary error for escaped characters in Scala
- Akka actor invoked with a function delegate - is this bad practice?
- Json implicit format with recursive class definition
- How to create a executable jar reading files from local file system
Related Questions in GROOVY
- spring-integration-dsl-groovy-http return null when i use httpGet method
- groovy xml namespace definition used in attribute value lost after XmlParse/serialize
- jenkins with groovy postbuild .Not able to execute anything in groovy script field
- How can I set the the expected Exception type for a catch statement with a parameter I've passed into a method?
- How to add quotes into sql where clause in Groovy script?
- integrating groovy with api
- java.util.ConcurrentModificationException on cloneEntity
- jenkins (or groovy) using pom.xml from previous execution
- How to use multiple classes in multiple files in scripts?
- How to work around Groovy's XmlSlurper refusing to parse HTML due to DOCTYPE and DTD restrictions?
- Workaround for lack of generators/yield keyword in Groovy
- Groovy's @CompileStatic and map constructors
- Java syntax to Groovy syntax
- Groovy TimeDuration Argument Types
- Elasticsearch : _score always 0 in Groovy script
Related Questions in GROOVY++
- Websocket application with grails
- What happend to groovy++?
- Closure with typed arguments in Groovy
- Groovy++ error when adding @Typed
- What is annotations? In simple terms?
- Is Java-style Groovy as fast as Java?
- Are Groovy and Groovy++ two languages or one language?
- Groovy And Groovy++,Are they different?
- Call super when overriding overloaded operator in groovy++
- Experiences using Groovy++ in Grails
- @Typed annotation stops Groovy code compiling
- What is the performance of Groovy 2.0 with static compilation
- Groovy++ and XML
- Groovy vs Groovy++
- Comparison of Scala (latest 2.10) versus Groovy++ (latest 0.9.1?)
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
There are some benchmarks here (though it's hard to see what's going on)
However, taking the Groovy 1.8.2
Fibsource code from the bottom of the page, and running it in groovy 2.0 gives you:Putting
@groovy.transform.CompileStaticat the top of the script gives you:Obviously, this is not a complete benchmark (it's only testing one thing), it doesn't include warmup or anything, and Groovy 2.0 has only been out a week, however it does hint towards a good speed improvement in this situation...