json.net은 캐시 시퀀스를 통해 정보 최적화 성능을 어떻게 최적화합니까? <..>
JSON.NET는 발현 트리 또는 일회와 같은 최신 기술을 사용하여 반사에 의해 가져온 성능 병목 현상을 피하기 위해 객체를 효율적으로 처리합니다. 그러나 직렬화 된 정보가 동일한 유형의 객체에서 반복적으로 사용될 때만 런타임에 IL을 빌드하고 시작하는 것이 시간이 걸립니다.
캐시 메커니즘
클래스 캐시 직렬화 된 정보를 캐시합니다. 사용자 정의 계약 파서가 지정되지 않으면 이러한 클래스는 기본적으로 계약 파서로 사용됩니다. 전역 정적 인스턴스를 유지하고 Cross -Instance가 공유하는 정적 테이블을 사용하십시오. 이 두 가지 유형은 크로스 스레딩이 신뢰할 수 있고 공유되도록 안전한 스레드입니다.
사용자 정의 계약 파서 계약 파서를 구현하고 인스턴스화 할 때 계약 파서 인스턴스 자체가 캐시 및 재사용 된 경우에만 유형 정보가 캐시 및 재사용됩니다. 성능을 최적화하려면 계약 파서를 생성하고 예제를 재사용하는 것이 좋습니다.메모리 관리
또는 DefaultContractResolver
를 사용하며 효율적인 캐시 직렬화 된 정보는 성능을 향상시키는 데 사용됩니다. 캐시는 성능을 향상 시키지만 사용자 정의 계약 파서를 설계 할 때 메모리 사용을 고려해야합니다. CamelCasePropertyNamesContractResolver
위 내용은 JSON.NET 직렬화 정보는 어떻게 성능을 최적화합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!