Ruby 스 크 립 트 효율 인 스 턴 스 공유 최적화
ruby -r profile rename.rb
실행 이 끝나 면 통계 정 보 를 표준 오류 출력 에 출력 합 니 다.다음 그림 에서 보 듯 이:
profflee 는 각 방법의 운행 시간 을 2 가지 로 나 누 었 다.첫 번 째 계산 은 방법 에서 방법 으로 되 돌아 오 는 시간 을 전체 시간 이 라 고 한다.두 번 째 는 전체 시간 에서 이 방법 에서 다른 방법 을 사용 하 는 데 걸 리 는 시간 을 뺀 것 을 실제 시간 이 라 고 한다.출력 정보 줄 마다 필드 의 의 미 는 다음 과 같 습 니 다(왼쪽 에서 오른쪽으로).
이 방법 은 실행 시간 이 전체 시간의 백분율 을 차지 하고 비례 가 높 을 수록 이 줄 코드 가 최적화 되 어야 한 다 는 것 을 설명 한다.
전체 시간의 총화
실제 시간의 총화
호출 된 횟수
매번 호출 된 평균 실제 시간(밀리초)
매번 호출 된 평균 전체 시간(밀리초)
방법
위의 그림 에서 보 듯 이 스 크 립 트 가 실 행 된 시간 은 대부분 순환 에 소모 되 었 다.해결 방법 은 두 가지 가 있다.순환 을 없 애 거나 순환 횟수 를 줄 이 는 것 이다.전 자 는 실현 하기 어렵 고,아직 방법 을 생각 하지 못 했 으 니,아마도 근본적으로 불가능 할 것 이다.스 크 립 트 의 mapping 크기 는 2685 이 므 로 파일 이름 을 수정 할 때마다 2685 번 순환 하고 순환 하 는 encode 와 gs ub!다 시간 걸 리 는 작업 이 야.보통 파일 이름 의 길 이 는 30 자 를 넘 지 않 습 니 다.파일 이름 의 모든 문 자 를 옮 겨 다 니 는 방식 으로 이름 을 바 꾸 면 순환 횟수 를 30 회 를 넘 지 않 게 줄 일 수 있 습 니 다.
코드 를 수정 한 후 분석 명령 을 다시 실행 한 결과 스 크 립 트 운행 시간 이 379395 초 에서 2418 초 로 최적화 되 었 고 성능 이 156 배 향상 되 어 2 개의 수량 급 효 과 를 얻 었 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Ruby의 단일 메소드 및 단일 클래스 상세 정보단일 방법 Ruby는 단일 객체에만 적용되는 단일 객체 추가 방법을 단일 방법이라고 합니다. 또한 위에서 사용한 정의 방법 외에 Object#define_를 통해singleton_method 방법으로 단일 방법 정의...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.