실망하실까봐 두렵지만 이 대본의 성능을 측정한 결과는 첫 번째 대본의 결과보다 현실과 훨씬 덜 관련이 있습니다. 그리고 여기서 요점은 이것입니다. 대부분의 컴파일러는 컴파일 시 여기에서와 같이 이 유형의 표현식을 계산합니다( 미리 계산할 수 있는 것을 나중에 계산하는 것은 의미가 없기 때문입니다). 저것들. 루프 내부의 코드는 Int = 120 및 Double = 120.0과 같습니다. 저것들. 유용한 것은 전혀 수행되지 않습니다. 그리고 루프 안의 코드를 내가 작성한 코드로 바꾸면 결과가 변경되지 않습니다(직접 확인). 실제로 주기를 구성하는 간접 비용이 측정됩니다. 두 번째 경우 결과가 약간 적다는 사실은 Double(8바이트)에 쓰는 것이 Int(4바이트)에 쓰는 것보다 약간 더 길다는 사실로 설명됩니다.
그리고 첫 번째 스크립트에서 어레이(가장 긴 부분)에 대한 작업이 메모리 하위 시스템(및 캐시가 있는 버스)의 성능을 적어도 어떻게든 반영했다면 이 테스트는 일반적으로 "진공 상태의 구형 말"을 측정하고 결과를 제공합니다. 앵무새보다 조금 작습니다.
실망하실까봐 두렵지만 이 대본의 성능을 측정한 결과는 첫 번째 대본의 결과보다 현실과 훨씬 덜 관련이 있습니다. 그리고 여기서 요점은 이것입니다. 대부분의 컴파일러는 컴파일 시 여기에서와 같이 이 유형의 표현식을 계산합니다(미리 계산할 수 있는 것을 나중에 계산할 의미가 없기 때문입니다). 저것들. 루프 내부의 코드는 Int = 120 및 Double = 120.0과 같습니다. 저것들. 유용한 것은 전혀 수행되지 않습니다. 그리고 루프 안의 코드를 내가 작성한 코드로 바꾸면 결과가 변경되지 않습니다(직접 확인). 실제로 주기를 구성하는 간접 비용이 측정됩니다. 두 번째 경우 결과가 약간 적다는 사실은 Double(8바이트)에 쓰는 것이 Int(4바이트)에 쓰는 것보다 약간 더 길다는 사실로 설명됩니다.
HideYourRichess 의 새 데이터가 포함된 테이블을 게시하고 있습니다. 기준은 동일하게 유지됩니다 - ff. four2one , 귀하의 전문 분야 - 기준 "시간 * 가격".
일반적으로 두 구성 모두 색상이 파란색으로 분류될 수 있습니다. :) 하지만 여전히 최적화를 기다리고 있습니다. HideYourRichess .
주
Athlon 64 X2 3800+(2000MHz), 캐시 2x512KB L2
DDR2 PC-5360 2GB
82.07*2(?)= 164.14
310*2= 620
수학
코어 2 듀오 E7200@2.53, 캐시 3MB L2
4GB RAM PC-6400
46.27*2.53= 117.06
213*2.53= 538.89
스비노자브르
Celeron 900 @ 2.20GHz, 캐시 1MB L2
DDR2 PC-6400 2GB
52.18*2.2= 114.8
206*2.2= 453.2
베닉
Celeron 325 @ 2.53GHz, 캐시 256K L2
DDR2 PC-6400 1GB
103.3*2.53= 261.35
438*2.53= 1108.14
베지못61
Pentium 4 670 @ 3.8GHz, 캐시 2MB L2
DDR2 PC-4266 2GB
78.57*3.8= 298.57
169*3.8= 642.2
블랙 박스
Athlon 64 X2 4200+ @ 2.2GHz, 캐시 2x512KB L2
DDR1 PC-3200(?) 3GB
77.84*2.2= 171.25
외환 케이
Core 2 Duo Q8200 @ 2.33GHz, 캐시 2x2MB L2
RAM 4GB PC-6400
46.84*2.33= 109.14
189*2.33= 440.37
Phenom II X3 720 @ 3.72GHz, 캐시 3x512KB L2 + 6MB L3
113*3.72= 420.36
포투원
Athlon 64 X2 5050e @ 2.6GHz, 캐시 2x512KB L2
RAM 4(8)GB PC-5970
60*2.6= 156.0
134*2.6= 348.4
베지못61
6코어 Opteron 2439 SE @ 2.8GHz, 캐시 6x512KB L2 + 6MB L3
DDR2 4GB PC-5333
42.33*2.8= 118.52
95*2.8= 266
베지못61
Xeon W5590 @ 3.47GHz, 캐시 4x256KB L2 + 8MB L3
DDR3 PC-10670 12GB
27.53*3.47= 95.53
62*3.47= 215.14
드미도
Pentium 4 @ 3GHz, 캐시 512KB L2
DDR1 PC-3200 1.15GB
64.49*3= 193.47
315*3= 945
토르바
Intel Celeron 331 @ 2.66GHz, 캐시 256KB L2
DDR1(PC-3200) 1.5GB
105.49*2.66= 280.60
386*2.66= 1026.76
임프120
Athlon 64 X2 3800+ @ 2GHz, 캐시 2x512KB L2
DDR1(?) PC-3200 2GB
90*2.0= 180
318*2.0= 636
시간 강사
Core 2 Duo E6550 @ 3GHz, 캐시 4MB L2
DDR2 PC-6864 2GB
40.35*3.0= 121.05
174*3.0= 522
임프120
모바일 코어 2 듀오 P8600 @ 2.4GHz, 캐시 3MB L2
DDR2 4GB PC-6400
44.99*2.4= 107.98
201*2.4= 482.4
비냉
Core 2 Duo E8400 @ 3.00GHz, 캐시 6MB L2
DDR2 4GB PC-6400
36.99*3.0= 110.97
152*3.0= 456
당신의 재물 숨기기
모바일 코어 2 듀오 T9800 @ 2.93GHz, 캐시 6MB L2
DDR3 8GB PC-8510
36.21*2.93= 106.1
161*2.93= 471.73
당신의 재물 숨기기
Xeon 5355 @ 2.66GHz, 캐시 2x4MB L2
DDR2 32GB PC-5320
42.2*2.66= 112.25
188*2.66= 500.08
다음은 새 스크립트의 결과입니다. 이제 ff와 유사한 특성을 얻으려면 Rating은 시간의 역수이므로 Freq/Rating만 계산하면 됩니다. 이전 ff로 정규화할 필요는 없을 것입니다.
그러나 숫자에서 알 수 있듯이 시험은 훨씬 더 어려워졌습니다.
나는 그렇게있다!
고마워, 알렉시. 예, 등급은 내 "참조" 프로세서의 백분율에 주어진 시간의 역수입니다. 그 결과 AMD Atlon 64 X2 3800에 비해 속도가 +109%, 즉 2,094배 빨라졌습니다. 작업 수 - 1밀리초당 테스트 1000회당 평균 작업 수입니다.
보시다시피 결과는 테이블의 결과와 다릅니다. 내 메모리는 아마도 당신보다 2배 느리지 않고 1.77배 느리기 때문입니다. 여기에서 동일한 코어에서 컴퓨팅 프로세서의 속도 차이를 보다 명확하게 확인할 수 있습니다.
나는 그렇게있다!
잘! Mathemat와의 차이는 거의 15%입니다! 그리고 테이블에서 - 1.23%!
잘! Mathemat와의 차이는 거의 15%입니다! 그리고 테이블에서 - 1.23%!
이 테스트는 처음에는 200, 두 번째에는 194를 보여주었지만
이 테스트는 처음에는 200, 두 번째에는 194를 보여주었지만
인터넷 연결을 끊고 방화벽 및 바이러스 백신 등을 끄면 테스트 결과(임의)의 정확도가 높아집니다. 저에게는 그 차이가 5%에 달했습니다. 즉, "전력"의 5%가 서비스 프로그램에 의해 소비되었습니다.
실망하실까봐 두렵지만 이 대본의 성능을 측정한 결과는 첫 번째 대본의 결과보다 현실과 훨씬 덜 관련이 있습니다. 그리고 여기서 요점은 이것입니다. 대부분의 컴파일러는 컴파일 시 여기에서와 같이 이 유형의 표현식을 계산합니다( 미리 계산할 수 있는 것을 나중에 계산하는 것은 의미가 없기 때문입니다). 저것들. 루프 내부의 코드는 Int = 120 및 Double = 120.0과 같습니다. 저것들. 유용한 것은 전혀 수행되지 않습니다. 그리고 루프 안의 코드를 내가 작성한 코드로 바꾸면 결과가 변경되지 않습니다(직접 확인). 실제로 주기를 구성하는 간접 비용이 측정됩니다. 두 번째 경우 결과가 약간 적다는 사실은 Double(8바이트)에 쓰는 것이 Int(4바이트)에 쓰는 것보다 약간 더 길다는 사실로 설명됩니다.
그리고 첫 번째 스크립트에서 어레이(가장 긴 부분)에 대한 작업이 메모리 하위 시스템(및 캐시가 있는 버스)의 성능을 적어도 어떻게든 반영했다면 이 테스트는 일반적으로 "진공 상태의 구형 말"을 측정하고 결과를 제공합니다. 앵무새보다 조금 작습니다.
주 , 실례가 되지 않기를 바랍니다. :)
실망하실까봐 두렵지만 이 대본의 성능을 측정한 결과는 첫 번째 대본의 결과보다 현실과 훨씬 덜 관련이 있습니다. 그리고 여기서 요점은 이것입니다. 대부분의 컴파일러는 컴파일 시 여기에서와 같이 이 유형의 표현식을 계산합니다(미리 계산할 수 있는 것을 나중에 계산할 의미가 없기 때문입니다). 저것들. 루프 내부의 코드는 Int = 120 및 Double = 120.0과 같습니다. 저것들. 유용한 것은 전혀 수행되지 않습니다. 그리고 루프 안의 코드를 내가 작성한 코드로 바꾸면 결과가 변경되지 않습니다(직접 확인). 실제로 주기를 구성하는 간접 비용이 측정됩니다. 두 번째 경우 결과가 약간 적다는 사실은 Double(8바이트)에 쓰는 것이 Int(4바이트)에 쓰는 것보다 약간 더 길다는 사실로 설명됩니다.
하지만 그 비율이 무엇에 자원을 소비하는지 상관합니까? 더 나은 측정이 필요합니다. :)
예, 정수와 실수 사이의 작은 속도 차이에도 놀랐습니다.