This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: java acedb database


Jean Thierry-Mieg wrote:
Dear java/gnu herders

I am one of the main authors of ACEDB (http://www.acedb.org), an object oriented database system which has been used worldwide for the human genome project (http://www.aceview.org)
The code is in C, about 250k lines, runs on any unix ever tested, and is freely distributed under gnu-licence


Because the code is now 15 years old, and single threaded, I consider redesigning it.

The natural choice of language may be C++, but it seems to me that Java class hierarchy and variable scoping
are preferable to C++. However, untill recently, Java could not be considered because a database kernel has to be compiled in native machine code, interpreted byte code is necessarily too slow.



I might get shot for saying it here, but current commercial JVMs (like Sun's and IBM's) are quite good, and in many cases as good or better than native C++ compilers.


Here are my questions,

1) considering the development of GCJ (gcc-java) would you recemmend Java to write a large code where performance is crucial. Critical operations are sorting, hashing, string searches. How would the speed compare to dedicated C code.


If speed is the *only* criterion, it is hard to beat C. If care is taken, java code can come close.


2) Will Java provide a performant implementation of multi threading.

Yes.



3) Is it true that, using GCJ, Iwill be able to compile on (nearly) any unix machine (ibm,sun,mac,hp,intel....)

Current GCJ support is somewhat patchy. I think for major platforms (i.e. x86/linux) GCJ is fairly complete. For some of the more obscure embedded platforms it is missing support for some things (reflection) and some other language features (synchronization and exceptions) have slow implementations.


David Daney


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]