А если добавить, для нового сборщика мусора: -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC
И для оптимизации -XX:+DoEscapeAnalysis и -XX:+UseCompressedOops (для 64 битной jvm).
-XX:+DoEscapeAnalysis — он влияет на мультипроцессорные операции в настоящий момент. Так как тут нет объектов, которые можно разместить в стеке, то результат не сильно поменяется. Не написал, но включил это вместе c другими опциями. Разницы не было.
Переход на 64 бита… ну, если только с увеличением объёма памяти до 3,5Гб одновременно: 3050+-116
Использование G1 (ИМХО, бесполезно, ибо не серверное приложение): 4118+-196… чтд :)
Если на моей машине алгоритм бинарного дерева в JVM работает быстрее чем в CLR, это значит что:
1) на моей машине алгоритм бинарного дерева в JVM работает быстрее чем в CLR.
2) на любой машине алгоритм бинарного дерева в JVM работает быстрее чем в CLR.
3) любой алгоритм в JVM работает быстрее чем в CLR.
4) JVM быстрее CLR.
5) Java — это круто, C# — отстой.
6) ничего не значит
Тут проскочил неотмеченным важный момент!
Что, бета седьмой JVM на самом деле настолько быстрей по производительсти на подобных операциях? Не знал. Спасибо, тоже пошел тестить седьмую яву.
Re: Сравнение производительности платформ .NET и Java на примере бинарного дерева