JSON.NET Cache -Sequentialisierungsinformationen zur Verbesserung der Leistung?
Über json.net ist die Hauptfrage, welche Serialisierungsmethode es verwendet und ob der Cache verwendet wird. Wird beispielsweise JSON.NET Informationen für die FOO -Objekt -Cache -Mitglieder zugreifen und wiederverwenden, wenn sie in Zukunft serialisiert werden?
Antwort: Ja, es zwischengespeichert.
-Klasses, um serialisierte Informationen zu cache -Typen zu zwischen dem Typ. Der Standardvertrags -Parser (IContractResolver
und DefaultContractResolver
) verwaltet diese Informationen und wiederverwendet sie intern, es sei denn, der Custom Contract -Parser ist definiert. CamelCasePropertyNamesContractResolver
behält die statische Tabelle auf, die zwischen allen Instanzen geteilt wird. DefaultContractResolver
CamelCasePropertyNamesContractResolver
Diese beiden Vertragsparser sind sichere Fäden und ermöglichen das Teilen von Cross -Threed. Wenn Sie jedoch Ihren eigenen Vertragsparser erstellen, kann Cache nur dann auftreten, wenn Sie zwischengespeichert werden, und die Vertrags -Parser -Instanz selbst wiederverwenden.
In Abwesenheit des Speichergebrauchs können Sie eine lokale Instanz von
erstellen, um den Cache -Vertrag zu reduzieren, ihn zur Serialisierung zu verwenden und die Referenz unmittelbar nach der Serialisierung zu entfernen.
DefaultContractResolver
am Ende kann die Serialisierungsinformationen des Cache -Typs die Leistung verbessern, aber übermäßiger Cache kann Speicher belegen. Durch sorgfältiges Verwalten des Vertrags -Parsers kann ein Gleichgewicht zwischen Leistung und Speicherverbrauch erreicht werden.
Das obige ist der detaillierte Inhalt vonWird die Serialisierungsinformationen von JSON.NET CACHE CAVE CACE, um die Leistung zu verbessern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!