본문 바로가기

Coding Memo

검색하기
Coding Memo
프로필사진 minttea25

  • 분류 전체보기 (163)
    • Language (78)
      • C++ (37)
      • C# (18)
      • Kotlin (20)
      • Python (3)
    • Unreal Engine (1)
    • Android (2)
    • Unity (8)
    • 문제풀이 (12)
      • BOJ (11)
      • Code Forces (1)
    • Game Server (C++) (18)
    • 메모 (12)
    • Icons (1)
    • etc (29)
Guestbook
Notice
Recent Posts
Recent Comments
Link
Tags
  • Server
  • Java
  • serialization
  • 디자인 패턴
  • winsock
  • Unity
  • db
  • SOCKET
  • protobuf
  • Visual Studio
  • Lock
  • 데이터베이스
  • MariaDB
  • tcp
  • 유니티
  • database
  • template
  • C++
  • 직렬화
  • 메모리
  • 에러
  • 백준
  • Singleton
  • OVERLAPPED
  • error
  • 디자인패턴
  • c#
  • aws
  • RDS
  • Socket Programming
more
Archives
Today
Total
관리 메뉴
  • 글쓰기
  • 방명록
  • RSS
  • 관리

목록속도 (1)

Coding Memo

직렬화 비교 (BitConverter, StructureToPtr, direct)

3가지 직렬화를 비교해보자. 1. BitConverter를 이용2. Unsafe 코드인 StructureToPtr을 이용하여 메모리 내용을 그대로 이용3. 직접 바이트를 조작속도 비교 C++로 작성된 서버와 C#으로 작성된 클라이언트의 통신에서 패킷 정보 파싱을 위해 PacketHeader라는 구조체를 이용했다. PacketHeader는 unsigned int16 (ushort)의 Id 값과 같은 타입의 Size로 이루어져 있다. C++의 placement new를 이용해서 메모리에 있는 값 그대로 전송하여 C#에서 파싱하는 형태이다. PacketHeader는 다음의 구조이다.[Size, 2 bytes][Id, 2 bytes] C#에서도 위 메모리 순서를 지키면서 다음 구조체를 작성하였다.[StructL..

Language/C# 2024. 6. 11. 13:38
이전 Prev 1 Next 다음

Blog is powered by kakao / Designed by Tistory

티스토리툴바