2017-01-31 3 views
1

실행 파일을 생성하는 많은 .f 파일이있는 Fortran 코드가 있습니다. 시뮬레이션을 실행하고 Linux에서 VirtualBox의 소프트웨어를 성공적으로 실행했습니다. Windows에서 Cygwin 환경에서 동일한 작업을 수행하면 성공적으로 실행되지만 몇 초 느려집니다. 제가 작업중인 포트란 코드는 반복 코드입니다. 각 반복은 milli 초 단위로 느리게 실행되었습니다. 1000 번 전체 코드를 실행하면 초 단위로 지연됩니다. 가상 box.It가 사용자가 0m0.036s 실제 0m0.061s을 준 내가 총 실행을 알고 시간 패키지를 사용 에 sys 0m0.020sWindows 기반 Cygwin에서 VirtualBox의 Linux보다 실행 속도가 느림

파워 쉘의 측정 명령 창에서

: 총 실행 시간 = 0.095 초

버추얼 박스는 프로세서의 코어 절반과 램 절반 만 차지하지만 리눅스가 경쟁에서 승리 할 때마다. 이 행동이 정상입니까 아니면 잘못입니까?

+0

적어도 측정 결과를 표시해야합니다. 몇 분 또는 몇 시간 만에 몇 초입니까? 어떤 종류의 코드입니까? –

+0

@Daniel 모든 단어의 형식을 코드로 태그 형식으로 편집하지 마십시오. 코드에 코드 표시를 사용하십시오. Linux와 Windows와 같은 단어는 정상적으로 작성되고 대문자로 시작해야합니다. –

+2

또한 코드를 컴파일하는 방법을 보여주는 것이 중요합니다. 특히 어떤 최적화 플래그가 사용됩니까? –

답변

1

정상입니다. Windows 제한을 우회하는 해결 방법으로 인해 cygwin의 포크 구현이 느립니다.

반복적으로 컴파일하면 포크 중에 많은 시간을 낭비 할 것입니다.

+0

왜 간단한 반복 프로그램이 어떤 포크를 수행합니까? –

+0

1000 번 포크와 같이 1000 번 코드를 실행하고 1000 바이러스 백신 검사 수 있습니다. strace로 코드가 시스템 시간을 사용하고 있는지 확인하십시오. 추가 데이터를 제공 할 수 있습니다. – matzeri

+0

그는 하나의 실행 파일에서 1000 번의 계산을 수행하는 대신 1000 번 개별 실행 파일을 실행하고 있습니까? 실제로 거의 모든 것을 할 수 있습니다 ... –