logo       

RE: Overhead and Best Practices: msg#00020

java.ikvm.devel

Subject: RE: Overhead and Best Practices

Mark Proctor wrote:
> So even after the work with WeakIdentityMap it will still be
> orders of magnitudes slower than if we coded natively in C# -
> or just orders of magnitudes slower than Java?

The difference between C# and Java is only on the order of a factor of
two (probably much less), but IKVM exception handling will remain orders
of magnitude slower (in most cases).

> The dynamic Class Loading and GC is worrying. In Drools 3.0
> we can add and remove rules; each rule dynamically compiles
> code. I'm not entirely sure what unloading the entire app
> domain means.

An AppDomain is essentially a lightweight process (of which you can have
multiple inside a real process). They are completely isolated from each
other (they communicate via remoting (which is something like RMI)).

> In Drools a package has one or more rules, each
> package has its own dynamic ClassLoader; when a rule is
> removed or updated we drop and reload the ClassLoader. If we
> can't hack that to work, we might have to look at a native
> port after all :(

Note that this code unloading thing is a .NET limitation (although .NET
2.0 can unload methods that are dynamically generated, it cannot unload
dynamically generated classes), so you will also have to deal with this
if you do a native port.

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=lnk&kid0709&bid&3057&dat1642


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

News | FAQ | advertise