인프런 커뮤니티 질문&답변

tmvldjtm1018님의 프로필 이미지
tmvldjtm1018

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

Reference Counting

atomic 스마트포인터에 대해서궁금합니다.

작성

·

220

0

밑에 질문들을 읽고 궁금한것이 있습니다.

스마트포인터를 사용하면 refcount에 대해서는 스레드세이프가 이제 구조상 보장이 되지만 set부분이나 치환하는 부분에 대해서는 아직 완전 보장이 안되어 atomic 스마트포인터를 활용하거나 lock을 건다고 하셨는데 그렇게 되면 성능적인 부분에서 많이 걸리지 않나 궁금합니다. set이나 치환부분이 얼마 되지 않기 떄문에 신경쓸 필요가 없는걸까요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

tmvldjtm1018님의 질문에 대해 직접적으로 대응하는 내용을 포함한 답변을 아래 링크에서 찾을 수 있습니다.

  • TSharedPtr이 thread safe한지에 대한 질문에서 Rookiss 강사님은 스마트 포인터와 thread safety에 대해 상세히 설명해주셨습니다. 특히 RefCount 자체는 ThreadSafe하지만, 대입/치환(set하는 부분)은 그렇지 않다고 언급하셨습니다. 이런 부문에서 성능적인 부분에 걸릴 수 있는데, 이 경우 보통 실제 프로그램을 구현하면서 set이나 치환 부분이 얼마나 빈번하게 일어나는지, 그리고 이로 인해 발생하는 성능 저하가 어느 정도인지에 대해 평가해볼 필요가 있습니다.

성능 저하에 대한 우려는 이론적으로는 항상 존재하지만, 실제 어플리케이션에서는 사용 사례와 맥락에 따라 다를 수 있습니다. 복잡한 멀티스레드 환경에서는 atomic 스마트 포인터의 사용이나 명시적인 lock 사용으로 인한 추가적인 오버헤드를 감수할 만한 가치가 있을 수 있습니다. 최적화를 시도하기 전에, 실제 성능에 미치는 영향을 측정해보는 것이 중요합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

tmvldjtm1018님의 프로필 이미지
tmvldjtm1018

작성한 질문수

질문하기