문제

64 비트 시스템을 개발할 때 크게 차이가있는 소프트웨어 엔지니어/컴퓨터 과학의 특정 부문이 있습니까? 나는 지금 약 10 년 동안 코딩 해 왔으며 64 비트 시스템이 중단 된 이후로 내 코드는 비트를 변경하지 않았습니다.

단일 코더가 사이드 프로젝트로 코딩 할 수있는 응용 프로그램은 64 비트 기술을 사용해야합니까?

도움이 되었습니까?

해결책

4GB 이상의 작업 및 프로그램 메모리가 필요한 것은 확실히 자격이 있습니다. 32 비트 시스템이 직접 해결할 수있는 최대 메모리의 양이기 때문입니다.

64 비트 숫자는 CPU 레지스터에 상주 할 수 있으므로 이러한 크기의 수를 요구하는 계산은 성능 향상을 볼 수 있습니다.

다른 팁

주소 공간이나 큰 계산 외에도 단어 크기를 두 배로 늘리면 낮은 레벨의 작업과 대부분 커널 해킹 또는 장치 드라이버 작성을하는 사람들에게 더 많은 도움이됩니다. 예를 들어, 네트워크 연결에서 바이트 스트림이 있고 처리해야한다고 가정 해 봅시다. 이제 주 메모리에서 4가 아닌 한 번에 CPU 레지스터 8으로 바이트를 가져올 수 있습니다. 그러나이를 활용하려면 "64 비트 인식"문자열 라이브러리가 필요하다고 생각합니다.

일화 적으로, 우리는 동일한 하드웨어 (64 비트 머신)에서 32 비트 SQL 서버에서 64 비트 SQL Server (2005)로 업그레이드 할 때 성능 증가를 관찰했습니다.

우리는 최근 내부에서 사용하는 도서관 중 일부를 64 비트로 포팅했습니다. C 코드는 전혀 변경되지 않았습니다. 우리는 우리가 연결 해야하는 새로운 컴파일러 지시문에 대해 링크하고 알아내는 3 자 라이브러리의 64 비트 버전을 가져와야했습니다. 가장 큰 두통은 64 비트 버전의 종속성을 찾아 32 비트와 64 비트를 모두 처리하기 위해 빌드 시스템을 리팩토링하는 것이 었습니다.

그것은 다른 소프트웨어가 수정이 필요하지 않다고 말하는 것은 아닙니다. 예를 들어, 워드 경계 내에 맞게 데이터를 포장하면 이제 64 비트 시스템을 프로그래밍 할 때 다르게 포장하는 경향이있을 수 있습니다.

당신이 물어봐야한다면, 당신은 아마도 당신이 ints의 크기에 대한 가정을 코드에 구축하지 않기 때문에 어떠한 이점도 얻지 못할 것입니다. 오히려 소수의 사용 사례와 상당히 낮은 수준은 모든 속도를 보게 될 것입니다. 매우 많은 숫자의 Bignums와 Heavy Integer 산술이 더 빠릅니다 (암호와 같은).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top