단일 명령 또는 기능의 CPU 성능 테스트

단일 명령 또는 기능의 CPU 성능 테스트

별도의 명령이나 기능을 벤치마킹하는 데 사용할 수 있는 명령이 있습니까? CPU를 얼마나 많이 사용하는지 확인하세요.

보고 명령의 기간을 사용하는 방법과 유사한 것이 바람직합니다 time.

예: 추가하기 전에 다음 코드를 시도했습니다. sleep 0.1CPU에 스트레스가 가해졌고, 팬이 고속으로 작동했습니다. sleep 0.1각 항목 뒤에 추가하면 printf문제가 완화되는 것 같습니다. 기본적으로 차이점을 확인하고 싶습니다.

spin ()
{
    i=0 
    sp='/-\|' 
    n=${#sp} 
    printf ' ' 
    sleep 0.1
    while true; do 
        printf '\b%s' "${sp:i++%n:1}" 
        sleep 0.1
    done
}

원천:http://mywiki.wookedge.org/BashFAQ/034

답변1

time정보를 주세요! 이는 프로그램이 사용자(예: CPU 사용량)와 시스템(예: 입력/출력)으로 소비하는 시간을 알려줍니다. CPU 집약적인 프로그램은 사용자 시간이 지배적이고 시스템 시간은 무시할 수 있는 프로그램입니다.

답변2

카니발이 열리는 것 같아요내장/핵심 단어 time 그리고별도의 신청서,/usr/bin/time. 전자가 우선적으로 적용되는 것처럼 보이므로 후자가 전체 경로가 필요합니다.

(물론 과거에도 여러 차례 보고된 내용이지만, 제가 직접 접한 것은 이번이 처음입니다.)

-v기본 기능은 동일하지만 후자는 CPU 사용량 등에 대한 추가 정보를 제공할 수 있습니다(특히 / 플래그 사용 --verbose).

전자는 함수를 피연산자로 허용하지만 후자는 스크립트 컨텍스트 내에서 해결되지 않는 한 허용하지 않습니다. 그래서 이것은 약간 짜증나고 약간 불편하지만, 유일한 해결책은 새 스크립트를 생성하고 이를 호출하고 저장한 다음 다음과 같이 하는 것 같습니다.

/usr/bin/time -v ./newfunction.sh

시간을 내어 글을 써주신 모든 분들께 감사드립니다.

관련 정보