현재 고 가용성 환경에서 작업 중이므로 성능은이 회사의 문제입니다. 나는 오늘 그들이 Perl 5.10.0을 실행하고 있음을 발견했다. 이것은 perl5101delta
에 따르면리스트 할당에서 성능 회귀가있다. 이제 우리가 데비안을 사용하고 있기 때문에 업데이트가 쉽지 않으므로 업데이트 할 업데이트의 양을 알려주는 통계를 찾고 있습니다.Perl 5.10.0의 성능 회귀가 얼마나 나쁜지에 대한 벤치 마크가 있습니까?
답변
다른 사람들의 코드 벤치 마크는 다른 사람들의 코드 차이점 만 보여줍니다.
"고 가용성 환경"의 성능을 정량화하는 데 사용하는 여러 가지 벤치 마크가 이미 있다고 가정합니다.이 벤치 마크는 특정 페이지에 대해 수행 할 수있는 초당 현재 요청 수를 보여줍니다 (웹 사이트) 또는 중요 모듈에서 특정 가시성이 높은 서브 루틴에 대한 서브 루틴 호출 수를 지정합니다.
아직 그런 것이 없다면 시스템의 현재 성능을 그대로 추적 할 수있는 코드를 만들 것을 제안합니다. 특히 가장 중요한 것으로 간주되는 비트 또는 성능이 저하 된 비트 성능은 회사에 부정적인 영향을 미칩니다.
많은 코드가 IO 바인딩 될 수 있으며 참조하는 회귀는 무시할 수 있습니다. 대부분의 서브 루틴 호출 및 매개 변수 저글링에 영향을 줄 수 있도록 목록 할당을 고려합니다. 가장 귀중한 코드가 데이터베이스에서 데이터를보고하기를 기다리는 데 오랜 시간을 소비하는 경우 위 회귀는 무시해도 좋습니다.
코드를 벤치마킹하고 현재 성능을 측정하는 것이 가장 좋은 방법인지 확인하는 좋은 방법입니다.
특정 버전을 사용하거나 사용하지 않으려는 특정 버전이 없으면 마이그레이션 할 모든 버전을 App :: perlbrew를 사용하여 설치할 수 있습니다. App :: cpanm을 사용하여 벤치 마크를 수행하고 "단순히"벤치 마크/테스트 스위트를 실행하는 데 필요한 모듈.
추가 보너스로, 당신은 또한 펄의 개발 버전을 추적하고 그 시점에서 다음 주요 릴리스하기 전에 를 고정 할 수 있음을 회귀 분석을 위해 perl5의-포터에 귀중한 피드백을 제공 할 수 있습니다.
perl5-porters는 기존 코드가 손상되지 않도록 보장하기 위해 많은 시간이 걸리지 만 몇 가지 주요 릴리스가있을 때마다 약 사용 중지가 이루어지며 일이 중단되고 수행 여부를 알 수있는 유일한 방법입니다. 코드를 테스트 해 보는 것이 좋습니다.
추가 :
use Benchmark qw/:all/;
sub test_this {
my ($a,$b,@c) = @_;
1;
}
timethis(10_000_000, "test_this(1..10);");
펄 5.10 펄 동안 그 작업을 수행 : 회귀 펄의 "목록 지정에 측정 가능한 성능 저하"에 대해 구체적인 질문을 해결하기 위해, 당신은과 perlbrew 및 벤치 마크,이를 통해 다양한 Perls을 설치할 수있을뿐 5.10.1 또는 다른 perls을 참조하십시오.
내 컴퓨터의 경우 5.10.1은 540k/초이고 5.10.0은 498k/초입니다.
- 1. SVN 벤치 마크가 있습니까?
- 2. J2ME 앱을 Android로 변환하는 J2MEPolish에 대한 벤치 마크가 있습니까?
- 3. ASP.NET 세션 상태 성능 벤치 마크
- 4. 이러한 특정 기준을 충족하는 PHP 벤치 마크가 있습니까?
- 5. Java LZO 대 Deflate vs. Gzip의 벤치 마크가 있습니까?
- 6. 데이터베이스 성능 벤치 마크
- 7. 누구나 .Net Excel IO 구성 요소 벤치 마크가 있습니까?
- 8. DI/IoC 컨테이너 성능 벤치 마크 비교?
- 9. (Pathinfo와 fnmatch 파트 2) Windows와 Mac에서 속도 벤치 마크가 역전되었습니다.
- 10. Python에서 "성능 기반"(벤치 마크) 단위 테스팅을 수행하는 방법
- 11. 자바의 문자열 인코딩 변환은 얼마나 비쌉니까?
- 12. 성능 향상 효과는 얼마나 가치가 있습니까?
- 13. JSF 성능 : JSF는 얼마나 확장 가능합니까?
- 14. 데이터베이스가 RAM에서 얼마나 빨라 집니까?
- 15. 가상 시스템 벤치 마크
- 16. 성능 벤치 마크 CouchDB를이 X 관계형 데이터베이스
- 17. 인공 신경망 벤치 마크
- 18. 최고의 SVN 백엔드 벤치 마크
- 19. -fno-strict-aliasing의 성능 영향
- 20. PHP ORM 벤치 마크? 또는 좋은 테스트 사례
- 21. Java 동적 프록시의 성능 비용
- 22. JPA 지연로드 성능 이점은 얼마나 중요합니까?
- 23. 얼마나 많은 EJB가 얼마나 많이 있습니까?
- 24. InnoDB 로우 레벨 잠금 성능 - 얼마나 많은 행이 있습니까?
- 25. 모듈이 Perl 코어에 얼마나 오래 있었습니까?
- 26. 벤치 마크 웹 사이트
- 27. CUDA 또는 OpenCL의 CPU 성능 비교 속도를 벤치 마크 할 수 있습니까?
- 28. Nodejs 응용 프로그램에서 socket.io를 사용하기위한 성능 벤치 마크를 얻는 방법
- 29. Java VM vs .NET 벤치마킹 성능 CLR
- 30. pydbg 모듈에 대한 Perl equivlant 모듈이 있습니까?
나는 그것에 대해 맹세하지는 않겠지 만, 어쨌든 데비안 패치에서 수정 된이 문제에 대한 막연한 기억이 있습니다. 업스트림에서 변경된 내용을 확인하려면 데비안 설명서를 확인하십시오. – Quentin
@David Dorward 데비안은 5.10.0에 "알 수없는 오류"문제 (debian bug 488088, Perl RT # 49472)에 대한 수정 사항을 백 포트했지만 목록 할당 수정의 백 포트를 알지 못합니다. 변경 내역에서 그 기호를 확인하십시오. – hobbs