Red Hat’s Andrew Overholt announced on the Fedora Java development list that he has made automated tests for Eclipse available as RPMs.
Red Hat’s Andrew Overholt announced on the Fedora Java development list that he has made automated tests for Eclipse available as RPMs.
Red Hat is doing a really nice job with their Java implementation. I wonder if Eclipse (in Fedora 4) is ready to be used as a serious (Java) development tool. Does the native compiled version performs ok when compared to eclipse running on a normal jdk?
There is one serious problem: Debugging does not work. And one hint: Eclipse is not compiled to a native executable on fedora. It is interpreted at runtime by the gij interpreter which is part of gcj, the java compiler of gcc.
>>> Eclipse is not compiled to a native executable on fedora.
>>> It is interpreted at runtime by the gij interpreter which is part of gcj, the java compiler of gcc.
Well, Redhat says that it is compiled with gcj, and I think they are correct, as I´ve been following the gcj and gnu classpath progress on their mailing lists for quite some time.
From the redhat.com website: http://www.redhat.com/magazine/008jun05/features/fc4/#java
” Eclipse is a full-featured IDE written in Java and now natively compiled using GCJ. It handles Java, C, and C++ projects and has an array of available plug-ins to extend its language support.”
cheers
I had thought that you were correct, but apparently not. When I run eclipse on my FC4 system, it runs using /usr/bin/java, which is linked to /etc/alternatives/java, which is in turn linked to /usr/bin/gij.
In fact, my eclipse was initially reporting in “help” that it was running on Sun’s 1.5 jre, since I had that rpm installed and it had mucked with the links.
I’m personally anxious to see the performance of the truly natively compiled version. I’ve always thought that the “but a jit has information that a regular compiler doesn’t so it’s faster” argument was hogwash. And I have ample experience over the years with the limitations of interpreters. (Bytecode or no.)
Once it really get’s optimized, I’d expect native to blow the doors off of Sun’s implementation.
As I said above, gij has a class map that it uses now. This is the BC ABI that has been worked on for a long time and is the “truly natively-compiled” version. At some point in the future, someone may compile directly from source but right now it’s way easier to just use upstream’s build procedure and go from .jars to .sos.
You are right, eclipse is compile with gcj. But it is not compiled to native code, it is compiled to java .class files. Here http://developer.classpath.org/mediation/ClasspathShowcase
you can see, how to create and start a native eclipse. But on fedora I can not find, that eclipse is started with the -Dgnu.gcj.precompiled.db.path=eclipse.db parameter, which maps jar-files to linux libraries. Have a look into the eclipse menue under Help->About Eclipse SDK:
*** Date: Thu Jul 14 19:59:23 MESZ 2005
*** Platform Details:
*** System properties:
eclipse.application=org.eclipse.ui.ide.workbench
eclipse.buildId=I20050627-1435
eclipse.commands=-os
linux
-ws
gtk
-arch
x86
-launcher
/usr/share/eclipse/eclipse
-name
Eclipse
-showsplash
600
-exitdata
40000
-data
/home/holger/workspace
-vm
/usr/bin/java
eclipse.product=org.eclipse.sdk.ide
eclipse.startTime=1121363415516
eclipse.vm=/usr/bin/java
eclipse.vmargs=-Xms64M
-Xmx256M
-jar
/usr/share/eclipse/startup.jar
file.encoding=UTF-8
This is what we do now to avoid having to make major changes to the Eclipse source. There is a hash map that gij consults when asked to load a class. If it has the class pre-compiled in a DSO, it loads the latter instead of interpreting the class itself.
Work is well underway to get JDWP support in GNU Classpath (and libgcj). This will enable debugging Eclipse.
“Does the native compiled version performs ok when compared to eclipse running on a normal jdk?”
I havent done an extensive comparison but the performance seems to be along similar lines
Yup. It just keeps gettin’ better.
I tried installing FC4 a couple weeks ago (it failed and I’m back on Debian Etch for the time being, but that’s another thread), and noticed that on the package selection screen, the list of available Java packages is very impressive. Besides Eclipse, it’s got Tomcat, Struts, Ant, and *many* more.
I think compiling eclipse from source with gcj would show how complete the gcj compiler is as a replasement for a real jdk. As far as I know, eclipse and other java packages like tomcat and structs are compiled from jar or class files to native. Does anybody knows how far is gcj from that?
I know it is easier to compile from jar to binary. That’s the reason fedora’s java repository is growing so fast. I was just curious to know how far is the gcj compiler crunching java source code. Eclipse is quite a beast, compiling it from source, not for the sake of using the result but for the sake of getting the gnu compiler pass throughout that bunch of java code without complaining and needing patches is a very would compatibilty test.