в java аллокации в несколько раз быстрее чем в C (~5 команд проц, протим ~20).
по сборке, даже в старых сборщиках от поколений зависело (молодое поколение, например, локальный объект в функции, вычищается сразу после выхода), в новых хз, но не думаю, что сильно хуже изменилось, скорее более актуально текущему моменту сделали...
Давно было - мб ошибаюсь где