문제

내가 알고 있는 .NETJIT 컴파일하여 아키텍처에서 실행되기 전에 응용 프로그램을 실행하지만,JIT 컴파일러 최적화를 위한 64 비트의 건축을까요?

거기에 아무것도 할 필요가 수행되거나 고려할 때 프로그래밍이 될 것입니다 응용 프로그램에서 실행 64bit system?(i.e이 사용하 Int64 성능을 향상시킬 것이 JIT 컴파일러가 자동으로 만들 Int64 작업에서 32 비트 시스템의 차이점은 무엇입니까?)

도움이 되었습니까?

해결책

64bit JIT 은 다른 에서 하나 32 비트,그래서 내가 기대하는 약간의 차이에 출력-지 전환하는 64 비트 단지에 대한 칭하이 무상사님 전과 달라지 않을 것을 얻을 것으로 예상 많속(있는 경우)에서 CPU 시간을 전환하여 64bit.

주의할 것이 큰 성과를 개선하는 경우 응용 프로그램의 많은 메모리 및 PC RAM 이 충분한 유지합니다.내가 찾는 32 비트.NET 앱을 시작하는 경향이에 던지고 메모리의 예외를 얻을 때 당신은 주위에 1.6gb 에서 사용하지만,그 시작을 때리기 위해 디스크 인 페이징 오래 전에-그래서 당신은 종료되는 I/O 니다.

기본적으로,당신이 병목 현상은 CPU 다음 64bit 도 도움이 되지 않을 수 있습니다.당신의 병목은 기억해야 합 큰 개선합니다.

이 사용하 Int64 성능을 향상시킬 것이 JIT 컴파일러가 자동으로 만들 Int64 작업에서 32 비트 시스템

Int64 이미 작품 모두에서 32 비트와 64 비트 시스템이지만,그것은 빠에서 실행되는 64 비트.그래서 만약 당신이 대부분이 수정을 가진 Int64,에서 실행되는 64 비트 시스템에 도움이 될 것입니다.

가장 중요한 것은 측정 하는 성능이다.

다른 팁

은 좋은 글이 주제에 대하여,하나는 사람들의 근무에서 64 비트 JIT.기본적으로,절대적으로 필요한 경우가 아니라면 이 주소 공간에는 64 비트이 제공할 수 있거나 필요로 하는 64 비트 수학,당신은 가능성이 잃는 성능이다.포인터로 큰 캐시를 효과적으로 절반으로,예를 들어.

나 64-비트가 느려집니다.

로가 명시되어 있는 64 비트 JIT 컴파일러는 다르게 동작합 86JIT 컴파일러가 있습니다.86 컴파일러의 활용을 최적화하는 x64 중 하나하지 않습니다.

예를 들어합니다.NET3.5 32 비트 JIT 이 인라인 함수 호출 구조체로 인수지만,64-bit JIT 하지 않습니다.

프로덕션 코드에서는 본 86 빌드가 실행으로 20%이상 빠른 x64 구축(없이 다른 변경)

요약하면,사용이 64 비트 전용 경우

  1. 야 할 추가 메모리고 주위에 방법이 없습니다.
  2. 당신은 예를 들어 프로그램과학적인 앱과 필요가 증가하는 정밀도 수학

에 다른 모든 측면,오늘로서,64 비트 컴파일러습니다.NET 단계 중 하나입니다.

성능 최적화를 수행됩니다.NET 컴파일러가 큰 문제입니다.

성능 병목 현상이 동일하는지 여부에 관계없이 건축물은 32 비트 또는 64 비트.성능 문제가 될 경향이 있의 결과 최적화 알고리즘 선택 사이 32 비트와 64 비트 형태 없 크게 성능에 영향을 미칩니다.

가장 중요한 것은,하려고 하지 않의 성능을 개선하기 위해 뭔가를 하기 전에 당신은 측정됩니다.특히 해야 합 프로필드에 위치를 확인할 수 있어 성능 병목 현상이다.

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