Re: [Ikvm-developers] XML Serialization Performance
Brought to you by:
jfrijters
|
From: Jeroen F. <je...@su...> - 2015-02-04 18:49:31
|
Hi, This is a well known problem. Java code tends to use exception handling for non-exceptional situations and because of this, HotSpot optimizes exception handling very well and .NET does not do this at all. On top of that when you "run" from VS (actually debug) every time an exception is thrown the CLR communicates with the debugger to check if the exception should break the debugger, this is very slow. Regards, Jeroen ________________________________ From: Hank Grabowski <ha...@ap...> Sent: Wednesday, February 4, 2015 7:30 PM To: Michael Kay Cc: ikv...@li... Subject: Re: [Ikvm-developers] XML Serialization Performance It also appears to be a performance problem from within VS too. I decided to run the benchmarks again to see what the actual time is: JDK 7 finishes in 0.4 seconds Inside of VS with release build 12 seconds Same code but run on command line 1.5 seconds. I wonder if VS is still instrumenting the Release code and thus causing the order of magnitude speed difference... On Wed, Feb 4, 2015 at 12:24 PM, Michael Kay <mi...@sa...<mailto:mi...@sa...>> wrote: For Saxon, many years ago, we used to say that the product ran about 30% slower under IKVM on .NET than in native Java. These days we're seeing a much bigger difference; .NET is often three times slower. We've done a lot of work to try and isolate the reasons, but we've come to the conclusion that the Sun/Oracle JDK has simply got better and IKVM/.NET hasn't kept pace. Michael Kay Saxonica mi...@sa...<mailto:mi...@sa...> +44 (0) 118 946 5893<tel:%2B44%20%280%29%20118%20946%205893> On 4 Feb 2015, at 15:58, Hank Grabowski <ha...@ap...<mailto:ha...@ap...>> wrote: First, I wanted to say that the IKVM software is a godsend. It is often the case that one has to pick either a MS or a Java stack when you really need both. This gives a third way, where you can build in Java and use in .NET. I've seen the performance benchmarks on your blog and it looks like there are many test suites where you are getting good performance. However I'm seeing some cases where things run an order of magnitude slower than in the JVM directly. One of the most recent one was in XML serialization/deserialization using the built in JAXB providers. I'd have to pull up the timing numbers again but if I recall correctly it was something like under a second inside of the JVM and over 10 seconds to parse the same file in C#. Are there any known performance caveats that I should read up on? Would there be interest in performing test cases and trying to isolate the problem on my side? Is that then something that you'd like to have code contributed back or just the test cases so that the IKVM core development team could look at? Thanks again for a great piece of technology! Hank ------------------------------------------------------------------------------ Dive into the World of Parallel Programming. The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/_______________________________________________ Ikvm-developers mailing list Ikv...@li...<mailto:Ikv...@li...> https://lists.sourceforge.net/lists/listinfo/ikvm-developers |