JAVA SIG: Java Performance Myths
and JavaCC, an Open-Source Parser Generator.
Presentation Overview - Java Performance Myths
Virtual machines for the Java platform have improved immensely in the past five years, but you still find bad advice targeted at the slow performance of early JVMs. A quick Web search found the following recent tips: "native methods improve performance," "try-catch blocks are free (or very expensive)," "synchronization is very expensive," "use final/static everywhere," and "use object pools". More recent virtual machines, such as HotSpot, call all of this advice into question. In this talk, I compare the performance of microbenchmarks with and without these and other similar "optimizations" on old and new virtual machines. You will come away with a clear knowledge of when, if ever, each optimization is appropriate.
Presentation Overview - JavaCC
JavaCC is a parser and scanner generator for Java. It comes with a tree builder tool JJTree for building syntax trees. JavaCC allows both scanner and parser grammars in a single input file. JavaCC scanner specifications are more flexible version of lex/flex grammars. The parser specifications are written in Java method-like syntax. Java code is allowed in actions in the scanner as well as parser specifications. It generates recursive-descent parsers. The tool is built ground up for full Unicode scanning. The tree generator supports and generates code for visitor pattern. There is also a rich set of grammars available for JavaCC which can be used as starting points for custom grammar development. JavaCC is now open source on java.net.
About the Speakers
Cliff Click, Azul Systems
Dr. Click, now at Azul Systems, was until recently a Senior Staff Engineer at Sun Microsystems where he architected the HotSpot Server Compiler. He wrote his first compiler at age 16 and has been writing runtime (dynamic) compilers for 15 years and optimizing compilers for 10 years. He has 8 patents (and 3 more pending) in the field of runtime compilers.
Sreenivasa Viswanadha, Staff Engineer, Sun Microsystems
Sreeni is a staff engineer at Sun Microsystems working on the Java Studio Enterprise product. He is the project owner of the JavaCC open source project on java.net. Prior to this, Sreeni worked as an architect for Webgain. During that time, he worked on a comprehensive parsing system for Java, JSP and XML. This is used in the source editor, refactoring and web service generation in Webgain's Studio IDE. Sreeni was also a co-founder of Metamata, a company specializing in Java debugging, auditing and metrics tools. Sreeni is working towards completing his Ph.D. in computer science.
Cubberly Community Center
4000 Middlefield Road, Room H-1
Palo Alto, CA 94105
6:30-7:00 Doors open. Networking. Pizza.
7:00-7:50 "Java Performance Myths"
7:50-8:10 Announcements. Break. Give-Aways.
$15 at the door for non-SDForum members
No charge for SDForum members
Free to TiE members during the month of Dec.
Please call 408.494.8378 for student memberships
No registration required
More on the Java SIG....