logo       

Re: Overhead and Best Practices: msg#00014

java.ikvm.devel

Subject: Re: Overhead and Best Practices

We code the compiler side natively - so this should hide most the ugly parts  from the user. Including an additional .dll isn't an issue I think.

The exception handling area is one I was aware of. We are moving the internal code to be mostly runtime exceptions, does that help? anything we can do to help avoid hits from exception handling. Again any more information would be great, what sort of speed differences  are we talking here?

We do a lot of dynamic classloading. This involves generating .java code and then compiling with JCI and Eclipse JDT. We then load this via a custom classloader. Is this a one off hit, or will it continue to be slow? What sort of hit are we talking about?

All this  sort of information is usefull and would be great in an FAQ.

Speed wise we are more concerned about the runtime than the compile time stuff. Runtime actually has no external dependies and we don't use that many classes. Dynamic ClassLoader and Collections is mostly what we use runtime.

Mark

Jeroen Frijters wrote:
Mark Proctor wrote:
  
IKVM with Drools 2.x has been a great success. We are now 
looking to do something similar for Drools 3.0. However we
are under pressure for a full port of the core code - which
I want to resist due to the resources needed to maintain
such an effort.

One key issue that .Net developers bring up is the overhead of using 
IKVM - quoting figures of over 20%. I have no empiracal facts, but I 
find that hard to be true.
    

In general 20% sounds way too high, but some operations are
significantly slower. For example, exception handling is much slower
under IKVM than under either pure .NET or Java.

Dynamically loading Java classes is also pretty inefficient, but for
statically compiled code the overhead typically is low.

Another issue plays more at the design level, if you rewrite and
re-design your code for .NET you're more inclined to use .NET specific
features (like for example value types) that can affect performance in a
more significant way.

  
Also maybe a "Get the Facts" document might help, as i have 
some users worred about a Frankenstein system; even though I tell
them that running Java on .Net is no different than runny Python
or VB, it all compiles down to IL.
    

That's true, but a significant drawback of IKVM is the fact that you
have to ship the Java class libraries (in the form of
IKVM.GNU.Classpath.dll).

Regards,
Jeroen


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=k&kid0709&bid&3057&dat1642
_______________________________________________
Ikvm-developers mailing list
Ikvm-developers@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/ikvm-developers

  

<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise