2021.08.20

‘닷넷 6’ 성능 얼마나 좋아졌나··· MS, 벤치마크 결과 공개

Paul Krill | InfoWorld
마이크로소프트에 따르면 ‘닷넷 6(.NET 6)’는 JiT(Just-in-Time) 컴파일 및 가비지 수집(GC)부터 JSON까지 다양한 영역에서 성능 향상을 이뤘다. 

지난 8월 17일(현지 시각) 발표된 공식 블로그 게시글에서 마이크로소프트의 닷넷팀 개발자 스티븐 토브는 닷넷 6의 성능 개선 사항을 공개했다. 
 
ⓒGetty Images

그는 JiT에서 ‘믿을 수 없는 수치의’ 성능 향상이 있으며, 이는 컴파일러가 메소드 피호출자(callee)에서 코드를 가져와 호출자(caller)에 내보내는 과정인 인라인 등에 영향을 미친다고 언급했다. 호출자의 컨텍스트를 비호출자의 컨텍스트에 노출해 인라인 없이는 불가능했던 후속(knock-on) 최적화를 가능하게 하는 게 주요 이점이라는 설명이다. 

이어서 토브는 JiT가 런타임에서 IL(Intermediate Language)을 어셈블리 코드로 변환하는 데 사용되며, 또 크로스젠2(CrossGen2) 코드 최적화 및 R2R 형식(실행 준비)의 일부로 사전 컴파일에 사용된다고 밝혔다. 

닷넷 6에서 가비지 수집은 세그먼트보다 리전을 기반으로 GC 구현을 전환해 성능을 개선했다. 리전은 (세그먼트보다) 더 작은 메모리 단위이기 때문에 GC 성능을 향상시킬 수 있다고 개발팀은 말했다. 

또한 닷넷 6에서는 여러 작업에 고유 식별자를 제공하는 데 사용되는 시스템 유형(예: Guid)의 성능도 개선됐다. 새로운 System.Text.Json  소스 생성기 역시 성능을 향상시켰다. FileStream 유형도 다시 작성돼 I/O 성능 문제가 해결됐다. 

다른 개선사항도 있다. 닷넷 6는 리눅스에서의 TLS(Transport Layer Security) 세션 재개 지원이 포함돼 보안 연결 설정에 필요한 시간을 단축할 수 있다. 또 BigInteger 구현 전반에 걸쳐 범위를 적극적으로 사용할 수 있게 됐다. 

한편 닷넷 6는 오는 11월 프로덕션 릴리즈로 출시될 계획이다. 현재까지 닷넷 6은 일곱 번의 베타 프리뷰를 거쳤으며, 릴리즈 캔디데이트가 다음 단계로 예정돼 있다. ciokr@idg.co.kr
 



2021.08.20

‘닷넷 6’ 성능 얼마나 좋아졌나··· MS, 벤치마크 결과 공개

Paul Krill | InfoWorld
마이크로소프트에 따르면 ‘닷넷 6(.NET 6)’는 JiT(Just-in-Time) 컴파일 및 가비지 수집(GC)부터 JSON까지 다양한 영역에서 성능 향상을 이뤘다. 

지난 8월 17일(현지 시각) 발표된 공식 블로그 게시글에서 마이크로소프트의 닷넷팀 개발자 스티븐 토브는 닷넷 6의 성능 개선 사항을 공개했다. 
 
ⓒGetty Images

그는 JiT에서 ‘믿을 수 없는 수치의’ 성능 향상이 있으며, 이는 컴파일러가 메소드 피호출자(callee)에서 코드를 가져와 호출자(caller)에 내보내는 과정인 인라인 등에 영향을 미친다고 언급했다. 호출자의 컨텍스트를 비호출자의 컨텍스트에 노출해 인라인 없이는 불가능했던 후속(knock-on) 최적화를 가능하게 하는 게 주요 이점이라는 설명이다. 

이어서 토브는 JiT가 런타임에서 IL(Intermediate Language)을 어셈블리 코드로 변환하는 데 사용되며, 또 크로스젠2(CrossGen2) 코드 최적화 및 R2R 형식(실행 준비)의 일부로 사전 컴파일에 사용된다고 밝혔다. 

닷넷 6에서 가비지 수집은 세그먼트보다 리전을 기반으로 GC 구현을 전환해 성능을 개선했다. 리전은 (세그먼트보다) 더 작은 메모리 단위이기 때문에 GC 성능을 향상시킬 수 있다고 개발팀은 말했다. 

또한 닷넷 6에서는 여러 작업에 고유 식별자를 제공하는 데 사용되는 시스템 유형(예: Guid)의 성능도 개선됐다. 새로운 System.Text.Json  소스 생성기 역시 성능을 향상시켰다. FileStream 유형도 다시 작성돼 I/O 성능 문제가 해결됐다. 

다른 개선사항도 있다. 닷넷 6는 리눅스에서의 TLS(Transport Layer Security) 세션 재개 지원이 포함돼 보안 연결 설정에 필요한 시간을 단축할 수 있다. 또 BigInteger 구현 전반에 걸쳐 범위를 적극적으로 사용할 수 있게 됐다. 

한편 닷넷 6는 오는 11월 프로덕션 릴리즈로 출시될 계획이다. 현재까지 닷넷 6은 일곱 번의 베타 프리뷰를 거쳤으며, 릴리즈 캔디데이트가 다음 단계로 예정돼 있다. ciokr@idg.co.kr
 

X