beinahe an der Hinweisstelle in den grvts-Dokumenten zur Full-vs-Lite-Kodierung vorbeigegangen, weil es sich anhörte wie eine kleine, unwichtige Formatierungsdetails und nicht wie etwas, das man wirklich verstehen sollte. stellte sich heraus, dass es eine echte, in die API selbst eingebaute Abwägungsentscheidung ist.

grvt bietet offenbar zwei Kodierungsvarianten für zumindest einige seiner Datenstrukturen: full und lite.

full verwendet vermutlich vollständige, menschenlesbare Feldnamen – das erleichtert das Debugging und das Lesen der Rohdaten beim Aufbau einer Integration. lite kürzt oder abkürzt diese gleichen Felder vermutlich, sodass Lesbarkeit gegen eine kleinere Payload-Größe und wahrscheinlich schnelleres Parsen getauscht wird.

solche Entscheidungen werden erst wirklich relevant, wenn man bei Skalierung tatsächlich auf Performance achtet. für jemanden, der eine langsame, gelegentliche Integration baut, ist full natürlich angenehmer zu verwenden. für jemanden, der ein latency-sensitives Handelssystem betreibt und tausende grvt-nachrichten verarbeitet, könnten die kleineren lite-Payloads tatsächlich einen Unterschied machen: weniger Bandbreite, weniger Parsing-Overhead, schnellere Roundtrips.

was ich allerdings immer noch nicht weiß, ist, ob full und lite pro Anfrage austauschbar sind, also ob ein Client einfach je nach aufruf die passende Variante auswählt, oder ob ein Konto bzw. eine Verbindung global auf eine Variante festgelegt ist, sobald sie konfiguriert wurde. das ist der Teil, der tatsächlich bestimmt, wie flexibel dieser Trade-off in der Praxis ist.

@grvt_io #grvt