2012-10-01 2 views
3

난수 쌍의 난수에 연산을 나누고 다른 OS를 실행하는 동일한 시스템에서 나누기 연산의 평균 시간을 계산하는 작은 프로그램을 Java로 작성했습니다. 프로그램을 실행 한 후 Windows 분할 작업의 평균은 1.6 * 10^-5 ms이고 Linux (Ubuntu 12.04)의 경우 약 8 배 단축되었습니다 (즉 3.2 * 10^-6 ms). 왜 Java 프로그램이 우분투에서는 더 빨리 실행되고 Windows에서는 그렇지 않은지 잘 모르겠습니다. 그것은 단지 운전사 것입니까? 또는 산술 연산이 우분투에서 더 최적화되어 있습니까?Linux 및 Windows의 산술 연산 실행 속도

+0

동일한 Java 버전을 설치 했습니까? 두 OS 모두에서 동일한 vmarg를 사용합니까? 하나는 클라이언트에서 실행되고 다른 하나는 서버 VM에서 실행됩니까? 또한, 그 차이는 난수를 계산하는 것이 아니라 부문에서 오는 것인지 확신합니까? – Axel

답변

2

실제 계산은 프로세서에서 수행되며 운영 체제와 완전히 독립적입니다.

게다가 자바 프로그램은 가상 자바 머신에서 실행됩니다.

아마도 윈도우에서 실행되는 스레드의 수가 많아서 프로그램의 프로세서 시간이 단축되었을 것입니다.

1

시간 자체가 너무 작기 때문에 차이점을 측정 할 수 없으며 측정해서도 안됩니다. 의미있는 데이터는 오랜 시간 동안 실행될 때, 그리고 같은 하드웨어 등에서 만 얻을 수 있습니다.

+0

나는 1 억 개를 시도했지만 같은 결과를 보였다. 하드웨어는 운영 체제의 차이점과 동일합니다. 다른 OS의 JRE가이 문제를 일으킬 수 있는지 잘 모르겠습니까? – Shivam

0

예 박사 B 고급 OS 클래스 할당 1.