The only benchmark I have done so far is Lucene Java, binary distribution running in sunJRE 1.5.0_06 verses Microsoft.NET 2.0 J# in debug mode. The difference in time to index the lucene-1.9.1/src/java tree (about 200 files in 1.5 megabytes) was small enough to be ignored.
And I'm sure that more detailed benchmarks would give about the same results. The C# code was generated (at least at first) by an automatic translator, and it would be compiled into pretty much the same common intermediate language as the J# compiler would produce on the input Java. Then the serious optimization work would be done by the same just-in-time compiler back-end. Lastly the runtime I/O would be the same. Considering the huge amount of labor that is involved in maintaining a couple hundred source files with about 35 thousand lines of code, I'm wondering what the big payoff for that expenditure of human capital is likely to be with the C# version.
