나는 세 가지 다른 언어로 세 가지 다른 프로그램을 작성했으며 런타임 및 메모리 소비 측면에서 성능을 비교하려고 합니다. 내가 찾고 있는 것은 다음과 같은 명령입니다.
$ SOMETHING (python test.py)
$ SOMETHING (ghc -o test test.hs; ./test)
$ SOMETHING (gcc -o test test.c; ./test)
그 이유는 이러한 다양한 언어로 프로파일링 도구를 사용하는 대신 이러한 프로그램의 성능 결과를 볼 수 있는 통합된 Unix(y) 방식을 원하기 때문입니다. 또한 소프트웨어 전문가가 이러한 프로그램에서 유용한 통계를 얻기 위해 런타임 및 메모리 소비 이외의 다른 일반/기본 기준을 측정하는지 알고 싶습니다. 감사해요
답변1
쉬운 방법은 GNU time
명령을 사용하는 것입니다.
/usr/bin/time python test.py
/usr/bin/time /bin/sh -c 'ghc -o test test.hs; ./test'
/usr/bin/time /bin/sh -c 'gcc -o test test.c; ./test'
시작 셸을 표준화하기 위해 /bin/sh -c
Python 명령에 a도 추가합니다.
time
출력 형식을 지정하고 메모리, I/O 및 기타 세부 정보를 출력에 포함하는 데는 다양한 옵션이 있습니다. 바라보다man time
더 알아보기.
time
다음과 같이 사용할 수 있는 내장 bash도 있습니다 .
time python test.py
time { ghc -o test test.hs; ./test; }
time { gcc -o test test.c; ./test; }
시간은 좀 주겠지만 메모리와 I/O 옵션도 있는지는 잘 모르겠습니다.