안녕하세요 선배님들.
프로젝트를 하나 하면서 생긴 의문이에요. 영상처리 쪽인데요, 물론 C++로 개발하고 있구요. bool, true/false 자료만 많이 저장할 필요가 있는 데이터가 있어요. 저는 아무 생각없이 bool 배열을 필요한 크기만큼 만들어 사용했습니다. 그런데 생각해보니 너무 낭비인거에요! 한... 만약 720p 영상이면 1280x720 개의 비트가 필요하고, 결국 921,600바이트가 필요하죠. bool은 참거짓, 1비트로 모 아니면 도로 표현하면 되는데 쓸데없이 엔티티당 8비트를 써버리면 7비트가 아깝고 메모리 접근도 비효율적인 것 같았어요. 그래서 시도해 본 것이 첨부파일이에여 (글에 붙이기엔 너무 길고 해서). 별로 안길고, 이클립스 C++ 플러긴으로 썼어요.
시도는 좋았어... 근데 느려! 아마도 값에 접근할 때 필요한 연산이 더 많아서 그런 것 같아요: 나누기연산, 나머지연산, 쉬프트연산, 비트연산, 클래스 참조연산... 기존 bool배열 접근에 비해 5배에요. 굳이 클래스화를 안하고 스코프 내에다 바이트 배열을 선언해 똑같이 해봐도 속도엔 그리 차이가 없었습니다.