2014-11-17 1 views
-2

이 C++ 코드는 다음과 같습니다.Odd 이전/새 CPU에서 C++ 오버 헤드를 비교했을 때 결과

초기화 된 학생 10000 명을 컨테이너에 생성합니다. 학생을 알파벳순으로 정렬합니다. 학생을 통과시키고 실패로 분류합니다. 결과를 콘솔에 출력합니다.

효율성을 높이기 위해 &을 보유하는 컨테이너 유형 (정적 및 비 정적)을 사용하여 실행이 시간 지정되어 10000 명의 학생을 반복합니다.

파일에서 아무것도 읽지 않고 모든 학생 데이터가 코드에 포함되어 있습니다. 여기

은 하나의 새로운라는 결과에서 분명해야, 두 개의 CPU 간 벤치 마크 비교를 사용하고 하나는 오래 : 여기

http://cpuboss.com/cpus/Intel-Core-i7-3770K-vs-AMD-Opteron-170#performance 각에 실행 시간을 비교 한 결과입니다 CPU .... 왜 새로운 CPU가 오래된 CPU에 의해 뒤에 남겨지고 있는지 어떤 생각? :

------------------------------------------------------------------------- 
AMD Opteron 170 - STATIC VECTOR (10,000 students = 27.499 secs) 
------------------------------------------------------------------------- 
gen_students = 1250ms 1.25s 
sort_students = 9953ms 9.953s 
alpha_pass = 7937ms 7.937s 
pass_fail = 8359ms 8.359s 

------------------------------------------------------------------------- 
[email protected] - STATIC VECTOR (10,000 students = 46.675 secs) 
------------------------------------------------------------------------- 
gen_students = 2184ms 2.184s 
sort_students = 32713ms 32.713s 
alpha_pass = 5164ms 5.164s 
pass_fail = 6614ms 6.614s 



------------------------------------------------------------------------- 
AMD Opteron 170 - STATIC LIST (10,000 students = 32.515 secs) 
------------------------------------------------------------------------- 
gen_students = 890ms 0.89s 
sort_students = 15875ms 15.875s 
alpha_pass = 7765ms 7.765s 
pass_fail = 7985ms 7.985s 

------------------------------------------------------------------------- 
[email protected] - STATIC LIST (10,000 students = 27.221 secs) 
------------------------------------------------------------------------- 
gen_students = 374ms 0.374s 
sort_students = 17160ms 17.16s 
alpha_pass = 4633ms 4.633s 
pass_fail = 5054ms 5.054s 



------------------------------------------------------------------------- 
AMD Opteron 170 - VECTOR (10,000 students = 552.094 secs) 
------------------------------------------------------------------------- 
gen_students = 1235ms 1.235s 
sort_students = 534765ms 534.765s 
alpha_pass = 7750ms 7.75s 
pass_fail = 8344ms 8.344s 

------------------------------------------------------------------------- 
[email protected] - VECTOR (10,000 students = 896.07 secs) 
------------------------------------------------------------------------- 
gen_students = 2200ms 2.2s 
sort_students = 882435ms 882.435s 
alpha_pass = 4696ms 4.696s 
pass_fail = 6739ms 6.739s 



----------------------------------------------------------- 
AMD Opteron 170 - LIST (10,000 students = 787.984 secs) 
----------------------------------------------------------- 
gen_students = 906ms 0.906s 
sort_students = 771422ms 771.422s 
alpha_pass = 7844ms 7.844s 
pass_fail = 7812ms 7.812s 

------------------------------------------------------------------------- 
[email protected] - LIST (10,000 students = 398.645 secs) 
------------------------------------------------------------------------- 
gen_students = 358ms 0.358s 
sort_students = 388412ms 388.412s 
alpha_pass = 4758ms 4.758s 
pass_fail = 5117ms 5.117s 
+1

컴파일 할 때 최적화 하시겠습니까? – vsoftco

+0

또한 동일한 툴킷 + 버전으로 컴파일 되었습니까? –

+1

벤치마킹 코드 :-) – Cameron

답변

2

170 (이상) 컴퓨터가 매우 메모리 집약적 인 작업에 큰 영향을 미칠 것입니다 새로운 하나, 두 배의 레벨 2 캐시가 옵테론. 캐시 효과는 액세스중인 두 항목이 서로 가까이있을 때 가장 두드러집니다 - 벡터와 마찬가지로 --- 여기에서 보는 것과 정확히 일치합니다.

+0

이렇게하면 캐시가 효과적으로 병목 현상을 일으키기 때문에 실행 중 사용률이 10 % 미만인 새로운 CPU를 설명 할 수 있습니까? – tuk

+3

나는 믿기가 어렵다. 코어 i7에는 더 큰 L3 캐시가 있습니다. 이러한 세대 차이는 아마도 Opteron의 L2보다 빠릅니다. – Mysticial

관련 문제