나는 날짜와 시간을 포함하는 커스텀 클래스를 만들고있다. 이 수업의 주요 목표는 최고의 성과를 달성하는 것입니다. 내 목표 플랫폼은 현재, 나는이다른 데이터 유형으로 최상의 성능을 얻으려면 어떻게해야합니까?
Year - int
Month - int
Day - int
Hour- int
Min - int
Sec - double (because I need milisecs as well).
형상 부재 나에게 2 + 1 + 1 + 1 + 1을 제공
Year - unsigned short
Month - unsigned char
Day - unsigned char
Hour- unsigned char
Min - unsigned char
Sec - unsigned char
Milisec - unsigned short
을 다음과 유형을 변경 너무 내가 지금 생각하고하는 것은 유지 리눅스 입니다 + 1 + 2 = 9 바이트. 이미 추측했듯이 클래스를 8 바이트 (다른 멤버가 없음)로 맞추고 싶습니다. 그렇다면이를 해결하고 병합 (예 : 초 및 밀리 초)하고 값 검색을 위해 비트 마스크를 사용하는 것이 가장 좋은 방법은 무엇입니까? 성능에 영향을 미칩니 까? 그리고 사용자가 정수를 일부 설정 자에게 전달하면 캐스트가 성능에 영향을 미칩니 까?
미리 감사드립니다.
왜 8 바이트로 클래스에 맞게 하시겠습니까? – Raptor
1900 년에서 2155 년까지만 필요한 경우 '서명되지 않은 문자'를 사용하십시오. – Zeta
부동 소수점 산술 사용에 고유 한 문제로 인해 밀리 초를 별도의 정수 필드로 저장하는 것이 좋습니다. –