Das muss einen nicht wundern – schliesslich muss bei *printf auch erstmal der String auf zu interpolierende Werte hin geparsed werden. Das fällt ja bei concat weg. Auf der anderen Seite haben die *printf Befehle den großen Vorteil der sauberen Typ-Konvertierung & Formatierung.