GCD beurteilen kann man nur, wenn man weiß, dass es benutzt wird. Bei verschiedenen Anwendungen (oder der gleichen mehrmals, genauer: verschiedenen Prozessen) nicht, die werden schon immer auf mehrere Kerne verteilt. Wenn ein Programm bei mehreren Objekten (Dateien, um sie zu durch den Encoder zu schicken) verschiedene Threads benutzt, auch nicht, die werden ebenfalls auch ohne GCD auf mehrere Kerne verteilt. Aber immer nur so viele, wie Threads gestartet wurden! Dein Encoder-Beispiel sieht also tatsächlich sehr danach aus, denn du hast ja nicht 16 Codierungen gestartet, sondern 3.
Da würde ich mich ja wie ein Schneekönig freuen, endlich den Leistungs-Gegenwert für das viele Geld für so eine CPU-Halde zu kriegen!