6

Wer weiß, was etwa die Leistungsgewinne in Bezug auf Zeit sind, wenn binäre Serialisierung im Vergleich zu JSON im Vergleich zu Xml und Senden der Daten über das Netzwerk, vorausgesetzt, die Datenstrukturen haben eine Menge von kleinen (String-) Feldern?Binäre Serialisierung im Vergleich zu JSON im Vergleich zu xml

Inwieweit ist der Serializer für die Leistung verantwortlich? Was ist mit der Programmiersprache?

Die perfekte Szenerie ist die, in der wir die Portabilitätsprobleme ignorieren und wir nehmen an, dass wir die Bibliotheken zur Verfügung haben, die für die Serialisierung/Deserialisierung von und zu allen 3 Formaten benötigt werden.

+5

Der beste Weg, um herauszufinden? Teste es für dich selbst. Was auch immer jemand hier antwortet, basiert auf _ihren Anforderungen und Bedürfnissen, die nicht zu Ihren eigenen passen. – Oded

+4

Es hängt von so vielen Dingen ab, dass Ihre Frage nicht zu beantworten ist, außer zu sagen: In den meisten Fällen ist das Serialisierungsformat kein Leistungsengpass. – hyde

+0

Was sind Ihrer Meinung nach die größten Leistungsengpässe? – Clara

Antwort

3

Es ist irgendwie unmöglich, Ihre Frage angemessen zu beantworten, da dies von Ihren spezifischen Anforderungen und Bedürfnissen abhängt.

Zu einem gewissen Grad könnte man sagen, dass es die Menge an Daten ist, die verwendet wird, um die serialisierte Darstellung zu beschreiben, die die Leistung beeinflusst.

Zum Beispiel müsste ein XML-Dokument öffnende und schließende Tags wie ... haben, während JSON mit prop1: "..." ausreichen würde, was die Menge an Zeichendaten zur Beschreibung der Instanz reduziert. Binary überspringt möglicherweise sogar die Eigenschaftenbenennung, was die Datenmenge weiter reduziert, die zur Beschreibung der serialisierten Instanz benötigt wird.

Obwohl dies möglicherweise die Bild-Binär-Serialisierung wäre am schnellsten, ist es nicht immer der Fall. Es hängt davon ab, wie viel Zeit der Serializer benötigt, um von einer Objektinstanz zur serialisierten Beschreibung zu gelangen.

Wenn Sie wirklich Leistung benötigen, dann sollten Sie sich die Google-Protokollpuffer ansehen. Nach meiner Erfahrung sind diese blitzschnell und recht einfach zu bedienen.

Verwandte Themen