성능을 향상시키기위한 json.net 캐시 직렬화 된 정보? <..>
개요
객체의 직렬화에서 런타임의 필드를 점검하고 속성이 느려질 수 있습니다. 고급 라이브러리는 일반적으로 IL 방출 또는 표현 트리를 사용하여 성능을 향상 시키지만 런타임에 IL을 구축하려면 유사한 개체의 정보를 재사용하기 위해 캐시해야합니다. 이로 인해 json.net에서 사용하는 캐시 전략 문제가 발생합니다.
질문
메소드가 속성의
답변
예. json.net은 클래스, 특히 및 의 클래스에서 직렬화 될 수 있습니다.
캐시 메커니즘
캐시 정보의 전역 정적 예제를 유지하려면.
인스턴스간에 공유 정적 테이블을 사용하십시오.
스레드 보안
이 두 계약 파서는 스레드간에 공유 할 때 아무런 문제가 없도록 안전한 스레드입니다. JsonConvert.SerializeObject
사용자 정의 계약 파서
자신만의 계약 파서를 작성하는 경우 계약 파서 인스턴스 자체를 재사용 할 때만 캐시 할 수 있습니다. value
메모리 소비 감소 Foo
Foo
메모리 제한이있는 경우
로컬 인스턴스를 생성하고 직렬화에 사용한 다음 참조를 삭제할 수 있습니다.
결론
위 내용은 성능 향상을 위해 JSON.NET 캐시 직렬화 정보가 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!