Keiner von beiden. Beide Protokolle haben Vor – und Nachteile und man muss den jeweiligen Anwendungsfall mit einbeziehen. Ergänzend sind in manchen Netz-Strukturen aus sicherheitsgründen auch nicht alle Protokolle erlaubt. Was unbestritten ist und auch die Grafik zu den Beiträgen vermitteln darf: das MQTT Protokoll hat eine wesentlich größere Verbreitung als Coap.
Aus Sicht der Knoten Übertragungs- und Energie Effizienz spricht einiges für Coap.
Die Unterschiede als Erinnerung im Vergleich im Vergleich:
MQTT:
Quelle: https://www.pickdata.net/news/mqtt-vs-coap-best-iot-protocol
Coap:
und im Vergleich und nach einigen Tests und Simulationen im Rahmen einer Master Thesis an der FH OST:
Bei einem JSON Format sieht man nur geringe Unterschiede zwischen den beiden Protokollen, speziell wenn man die umgerechnet Transferrate betrachtet. Wichtig dabei ist die max. Füllung der JSON Payload:

Wenn eine weitere Optimierung zu Gunsten der „Lesbarkeit“ vorgenommen wird, also auf Binär-Kodierung umgestellt wird, ergibt sich noch einmal eine bessere Übertragungsrate. Die Datenrate Effizienz wird hier noch einmal deutlich erhöht.

Die Untersuchungen die angestellt wurden ergeben ein differenziertes Bild:
- reine Protokoll Betrachtungen ergeben hier keinen klaren Gewinner
- Beide Protokolle sind aber im Vergleich zu anderen gängigen Protokollen deutlich effizienter
- Viel ausschlaggebender als die reine Protokoll Betrachtung (bei diesen beiden Vertretern) sind folgende Mechanismen:
- Payload Optimierung durch auffüllen auf Min. Frame Load, also dem auffüllen auf einen (fast) vollen Transfer Frame (z.B. Ethernet MTU: 1500 Byte)
- Zusätzlich Kodierung umstellen auf Binär und eventuell Compressed
Bevor aber hier der ganze Aufwand betrieben wird sollte man sich ausführlich mit dern Anwendung auseinandersetzen und hier im Vorfeld Min. / Max. Notwendigkeiten analysieren.