이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 3878|회답: 1

[통신] [돌기]. NET 8 새롭게 추가된 고성능 타입

[링크 복사]
게시됨 2023. 5. 7. 오전 9:37:47 | | |
머리말

. Net8 버전과 비교해 보세요. Net7은 많이 변했습니다. 이 글에서는 애플리케이션 성능 향상을 위한 공식적으로 권장되는 새로운 유형의 성능 변경 유형을 살펴보겠습니다.

랩어라운드

1. 시스템.컬렉션.동결

네임스페이스에는 FrozenDictionary< TKey, TValue> FrozenSet과 같은 컬렉션 유형이 포함됩니다. 컬렉션이 생성되면 이 타입들은 키와 값에 대한 변경을 허용하지 않습니다. 이 요구사항은 더 빠른 읽기 연산(예: TryGetValue())을 가능하게 합니다. 이러한 유형은 처음 사용 시 채워지고 장기 사용을 위해 보관되는 컬렉션에 특히 유용합니다. 예를 들어:

2.System.Buffers.IndexOfAnyValues

이 타입은 전달된 컬렉션 내 임의의 값의 첫 번째 일치를 찾는 메서드로 전달되도록 설계되었습니다. 예를 들어, String.IndexOfAny(Char[])는 해당 배열을 호출하는 문자열에서 해당 배열에서 어떤 문자의 첫 번째 일치를 찾습니다. NET 8은 String.IndexOfAny 및 MemoryExtensions.IndexOfAny 같은 새로운 메서드 오버로드를 추가하여 새로운 타입 인스턴스를 허용합니다. System.Buffers.IndexOfAnyValues 인스턴스를 만들면, 이후 검색 최적화에 필요한 모든 데이터가 그 시점에 파생되어 작업이 미리 완료됩니다.

3.System.Text.CompositeFormat

타입은 컴파일 시점에 알려지지 않은 포맷 문자열을 최적화하는 데 사용될 수 있습니다(예: 포맷 문자열은 리소스 파일에서 로드됩니다). 처음에 문자열 파싱 같은 작업을 하는 데 시간이 좀 더 들지만, 이 덕분에 사용할 때마다 작업하는 것을 절약할 수 있습니다.

4. System.Buffers.IndexOfAnyValue

이 타입은 전달된 컬렉션 내 임의의 값의 첫 번째 일치를 찾는 메서드로 전달되도록 설계되었습니다. 예를 들어, String.IndexOfAny(Char[])는 해당 배열을 호출하는 문자열에서 해당 배열에서 어떤 문자의 첫 번째 일치를 찾습니다. NET 8은 String.IndexOfAny 및 MemoryExtensions.IndexOfAny 같은 새로운 메서드 오버로드를 추가하여 새로운 타입 인스턴스를 허용합니다. System.Buffers.IndexOfAnyValues 인스턴스를 만들면, 이후 검색 최적화에 필요한 모든 데이터가 그 시점에 파생되어 작업이 미리 완료됩니다.

5. 시스템.텍스트.복합 형식

타입은 컴파일 시점에 알려지지 않은 포맷 문자열을 최적화하는 데 사용될 수 있습니다(예: 포맷 문자열은 리소스 파일에서 로드됩니다). 처음에 문자열 파싱 같은 작업을 하는 데 시간이 좀 더 들지만, 이 덕분에 사용할 때마다 작업하는 것을 절약할 수 있습니다.

6. System.Numerics 및 System.Runtime.Intrinsics

System.Numerics 및 System.Runtime.Intrinsics 네임스페이스의 개선. Vector256, Matrix3x2, Matrix4x4는 .NET 8의 하드웨어 가속을 향상시킵니다. 예를 들어, Vector256은 가능한 경우 2xVector128을 재구현했습니다. 하드웨어 내부는 이제 ConstExpected 속성을 사용하여 주석을 작성합니다. 이를 통해 사용자는 언제 하드웨어가 상수를 필요로 하는지, 그리고 언제 과도한 값이 성능 저하를 초래할 수 있는지 알 수 있게 합니다.

참조:하이퍼링크 로그인이 보입니다.
원문 언어:하이퍼링크 로그인이 보입니다.





이전의:VSTO(VI)는 워드 문서의 저장을 취소하거나 차단합니다
다음:ASP.NET 코어 (18) 간단한 OutputCache 출력 캐시를 커스터마이즈하기
게시됨 2023. 5. 7. 오후 3:36:17 |
배우기 위해 배우세요
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com