Wo der Platz vertrödelt wird, kann man nur nach einem Blick ins erzeugte Assembler genau zuordnen. In Deiner Funktion gibt's immerhin 12 C++-Funktionsaufrufe. Ein Teil des Platzes geht wohl auf Kappe von C++-Overhead.