• Post Reply Bookmark Topic Watch Topic
  • New Topic

Why not use JDK?

 
Wahid Sadik
Ranch Hand
Posts: 56
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi, I'm new in java and here in ranch, I hear people saying about Jikes. Why don't we use JDK as it's available?
 
Frank Carver
Sheriff
Posts: 6920
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Jikes is an alternative to Sun's javac Java compiler. javac is written in Java to be as portable as possible, but is not the fastest. Jikes is written in C++ and compiled to object code, which means it is less portable but faster.
In general, if you compile your own relatively small code on a reasonably fast machine, you might as well use the Sun compiler, but if compilation speed (rather than execution speed) is important, say for JSPs which are automatically compiled on the server when they change, you could consider Jikes.
There have been inconsistencies in the Java language handling and the Bytecode generation between the two compilers, so I would recommend testing both with your own code before switching over completely.
 
Guennadiy VANIN
Ranch Hand
Posts: 898
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Is jike free? Where it is?
 
Ilja Preuss
author
Sheriff
Posts: 14112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by yidanneuG ninaV:
Is jike free?

It's open source, yes.
Where it is?

http://oss.software.ibm.com/developerworks/opensource/jikes/
 
Ilja Preuss
author
Sheriff
Posts: 14112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The modern javac isn't that bad in performance anymore, only startup time still is much bigger (jikes just doesn't have to load a JVM first).
We also observed that currently Jikes is *much* more buggy than Javac, so that the former is practically unusable for our projects. YMMV.
 
Blake Minghelli
Ranch Hand
Posts: 331
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
We are currently using jdk1.2.2 but we compile with jikes v1.06 because it is much faster.
We also observed that currently Jikes is *much* more buggy than Javac, so that the former is practically unusable for our projects.

I experienced some bugs too when I tried to upgrade to the latest version of jikes (at the time that was v1.17) so I suggest thorough testing if you decide to use it. We have hundreds of classes in our core package - about 3 or 4 threw VerifyErrors when they were first loaded by the jvm.
 
Guennadiy VANIN
Ranch Hand
Posts: 898
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks, Ilja and Blake,
when you incrementally develop, the compilation time maters a lot.
I also am interested in any experience, from the same POV, how to restart application without (re)loading each time the JVM, forcing it to remain it running in memory?
 
Ilja Preuss
author
Sheriff
Posts: 14112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Guennadiy VANIN:
Thanks, Ilja and Blake,
when you incrementally develop, the compilation time maters a lot.

Absolutely! To add, we don't typically use Ant for local compilation - it is only used for automatic integration- and nightly builds and for distribution.
Most of the developers in my company use Eclipse as their IDE, which has a very nice inbuild incremental compiler. It is able to recompile single methods, so for many of the small changes I do, compilation time is nearly zero. Really - the build time is so short that it automatically compiles every time you save a file!
 
Guennadiy VANIN
Ranch Hand
Posts: 898
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Ilja,
I am rather not familiar with them. I shall look for the FAQ on them...
[ January 25, 2003: Message edited by: Guennadiy VANIN ]
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!