Ну, прежде всего прочитайте это здесь - да, это включает в себя одну связанную статью (ну это здорово ). Если вы этого не сделаете, мы можем остановиться прямо здесь, потому что вы будете только измерять мусор. И да, эта проблема в некоторой степени существует и для C #.
Также это зависит от того, что вы измеряете с помощью C # - использование небезопасного кода может дать хорошие улучшения производительности за счет практически всех недостатков неуправляемых языков. И какие переключатели вы используете для программ - не использование -server
для Java было бы действительно хорошей идеей, чтобы C # выглядел лучше, чем есть;)
Какие разумные ориентиры? Ну, как правило, приятно показывать простую математическую задачу (и оба JIT, вероятно, неплохо справляются с этой задачей, поэтому не надейтесь на слишком большие различия - это тоже ответ). Тогда, может быть, некоторые тесты, которые показывают, насколько хороши JIT в оптимизации вещей - CSE, виртуальное встраивание и т. Д. Это, вероятно, зависит от того, сколько вы знаете об оптимизации в целом.
Также, безусловно, интересно проверить задержку / время для полного / частичного запуска сборки мусора.