.NET 10 런타임 개선사항 요약 .NET8 이후로 개선사항을 잘 모르기도하고.. 팀원들한테 변경점 정도는 공유하면서 업데이트 하자고 말씀드리고 싶어서 요약.. 1. 코드 구문 분석 개선(관련 이슈) 1.1 Flog Grpah 기반 분석 JIT가 코드를 분석할 때 기존의 Lexcial Ordering(어휘 순서)기반 분석에...
.NET 10 런타임 개선사항 요약
태초마을로 돌아가자 - 게임서버 스터디 발표(1)
태초마을로 돌아가자 - 게임서버 스터디 발표(1) . 게임서버 스터디에서 발표했던 PPT 저연차, 비전공자 또는 현업 개발자를 대상으로 제작하였다. 컴퓨터 구조에서 배울만한 내용이 대부분이고 회로부터 시작해 CPU가 어떻게 돌아가고 어셈블리가 무엇인지 Bottom - Top으로 소개하는 발표. 주제 선정 스터디에 저연...

AWS SAA 자격증 취득 후기 (게임 개발자 관점)
AWS SAA 자격증 취득 후기 (게임 개발자 관점) 본 포스팅에서 자잘한 시험 정보에 대해서 설명하지 않습니다. 1. 서론 게임 서버 개발자는 웹 개발을 하는 일반 IT 백엔드 개발자들과 결이 많이 다르다. 주관적으로, 웹 개발자는 이미 잘 만들어진 컴포넌트를 어떻게 조합해서 서버를 만드는지 아키텍팅 대해 집중하는 느낌이고 게임 서버 개발자...

윈도우즈 환경에서 GUI를 지원하는 Linux 도커 컨테이너 띄우기
윈도우즈 환경에서 GUI를 지원하는 Linux 도커 컨테이너 띄우기 본 포스팅에서 자잘한 설치환경 에러에 대해서 설명하지는 않습니다. 사전 조건 > Windows 10 버전 2004 이상 또는 Windows 11 설치치 1. WSL2 설치 명령 프롬프트 창을 관리자 권한으로 연다. wsl --install 을 통해 WS...
대규모 시스템 설계 기초 리뷰
[Book Review] 대규모 시스템 설계 기초 가상 면접 사례로 배우는 대규모 시스템 설계 기초 독후감. 책 내용을 요약하는 포스팅은 아닙니다. 읽으면서 들었던 생각들을 주저리 정리하는 글에 가까움. (미래에 부끄러워서 지울수 있음) 개인적으로 이 책은 신입이나 취준생 보다는 조금 더 연차가 있을때 읽는게 좋다고 생각한다. 저연차 때...
Mimalloc (미말록)
Mimalloc: Free List Sharding in Action 논문 요약 미말록(Mimalloc) 이란? 마이크로소프트에서 개발한 성능 좋은 Memory Allocator. 다른 최신 Memory Allocator은 할당시간/메모리사용량/스레드 스케일링의 성능향상이 주된 목표이지만, mimalloc은 메모리 참조 지역성을 향상시키는데 포커...
Dynamic PGO (Dynamic Profile Guided Optimization, 동적 프로필 기반 최적화)
(.NET 6 기준으로 작성한 포스팅입니다.) (23-11-09: .NET 7 기준 최신정보 업데이트 하였습니다.) 서론 이전 포스팅에서 설명한 PGO는 런타임에 적용할 수는 없는 최적화다. 빌드(컴파일/링크) 시에만 진행할 수 있는 최적화이므로 JIT에서는 사용이 불가능했다. 하지만, .NET Core 3.0부터 계층 컴파일(Tiered Com...
PGO (Profile Guided Optimization, 프로필 기반 최적화)
(2023/11/05 업데이트) PGO (Profile Guided Optimization, 프로필 기반 최적화) 프로파일링 옵션을 추가한 프로그램을 실행하면 프로필이라는 일종의 사용 통계 데이터가 남는다. 이 프로필 파일을 통해 다음 컴파일 시에 최적화를 해주는 기능. 네이티브 코드(C or C++)에서만 가능하고, 관리코드(C# 등)와 네이티...
GC DATAS (Dynamic Adaptation To Application Sizes, 동적 힙 갯수 조절)
DATAS (Dynamic Adaptation To Application Sizes, 동적 힙 갯수 조절) 힙 메모리 사용량에 따라 힙 갯수를 줄이고 늘릴 수 있는 기능. .NET8 에서 추가된 기능. 내용이 길어져서 별도 포스트로 나누었다. 원본은 이 포스트에서 확인가능. 디테일한 내용은 추후 포스팅을 통해 설명할 예정이며 지금도 개발중...
.NET 8 변경점
.NET 8 변경점 .NET 8 변경사항 에서 관심있는 부분 정리. [제네릭] GetEnumerator 개선 foreach 같은 구문에서 사용하는 제네릭의 GetEnumerator()가 개선되었다. 기존 코드는 다음과 같이 별다른 조건체크 없이 매번 열거자를 새로 생성하도록 되어있다. IEnumerator<T> IEnumerab...