joo, genau das mit den Pipes ist hier das Problem.
Wenn die Daten zuerst zwischengelagert würden und erst am Ende zum “richtigen” Output zusammengesetzt werden, muss der nächste Prozess solange warten bis pbf2osm fertig ist.

mit Pipes (das ist unter *nix die Sache mit dem senkrechten Strich |, windows kann das aber auch ) kann auf einem Mehrkern-Rechner der nächste Verarbeitungsschritt (Prozess) schon loslegen, bevor pbf2osm fertig ist, weil er ja schon Daten bekommt.
Geht auch auf Single-Cpus bringt aber nicht soviel.