MemoryPack - 가장 빠른 .NET 시리얼라이저

C#용 MessagePack의 주요 기여자인 카와이 요시후미님이 만든 .NET 시리얼라이저인 MemoryPack을 소개 합니다.

MemoryPack은 .NET 증분 소스 생성기를 이용해 AOT 환경에 친화적이며, 메모리 사용에 최적화 되어 있고 경쟁 .NET 시리얼라이저에 상당히 빠른 성능을 제공합니다.

다음의 중요한 특징이 있습니다.

  • 관리되지 않는 유형 배열의 성능 향상
  • 사용이 간편한 AOT 지원
  • 확장 다형성(Union)
  • 순환 참조 지원
  • 역질렬화 덮어쓰기
  • TypeScript 코드 생성
  • 유연한 속성 기반의 사용자 정의 포맷터

실용적인 시리얼라이저의 다양한 기능을 제공합니다.

  • 최신 I/O API 지원 (IBufferWriter<byte>, ReadOnlySpan<byte>, ReadOnlySequence<byte>)
  • AOT 친화적인 소스 생성기 기반 코드 생성, 동적 CodeGen(IL.Emit) 없음
  • 무반사 비제네릭 API
  • 기존 인스턴스로 역직렬화
  • 다형성(Union) 직결화
  • 제한된 버전(속도 최적화 버전 / 기본값) 및 전체 버전 지원
  • 순환 참조 직렬화
  • PipeWriter/Reader 기반 스트리밍 직렬화
  • TypeScript 코드 생성 및 ASP.NET Core 포맷터
  • Unity(2021.3) .NET 소스 생성기를 이용한 IL2CPP 지원

6개의 좋아요