-----Original Message-----
From: Ulrich Kunitz [mailto:[EMAIL PROTECTED]
Sent: Wednesday, 25 May 2005 7:55 AM
To: harmony-dev@incubator.apache.org; [EMAIL PROTECTED]
Subject: Re: Terminology etc

> ...

> But it might still be that C-implemented modules (particularly the GC)
are faster than their Java-implemented counterparts, because they ignore
array-index-checking, don't need write barriers and interface calls,
etc... One could follow the strategy, that modules must support Java
interfaces but might be implemented in C. This strategy would bring us
back to an design that doesn't mandate which language has to be used to
implement a certain module.

My instinct would be that the cost of the bounds and null checks within
the GC would be relatively insignificant. Putting that aside, it would be
possible for us to disable some checks within VM code for release builds
(leaving them in for debug builds). While I would suggest the best
approach is to leave them in always, allowing their removal would
eliminate the issue of null/bounds checking as an argument against Java.
And after we have implemented things and measured performance differences
we can make an informed decision. Naturally this would impact coding style
choices but for a bunch of VM code I wouldn't expect that we would want to
be throwing and catching exceptions in the normal course of things anyway.
It is a different story for the libraries however, and we should be very
wary of any place (if any) that we decide to remove these checks.

Cheers,
Daniel.





Reply via email to