i7-4790을 2014년도 부터 사용하다가 6년만에 i7-10700으로 바꿨다. 램도 DDR4를 달았다.

 

지난번 i7-4790 과 비교에서 for문의 성능이 얼마나 좋아졌나 알아보기로 한다.

 

지난번 테스트는 아래와 같다.

 

C++과 파이썬 루프의 속도차이 | 컴퓨터 성능 테스트

C/C++ 이 파이썬 보다 속도가 빠르다고 한다. 그런데 얼마나 빠르냐고 물어보면 항상 답변은 비슷하다. C++은 직접 컴파일 방식이고 기계어 명령어에 1대1 대응되니까 속도가 빨라. 파이썬은 인터��

digiconfactory.tistory.com

10초동안 누산하는 방식이었다. 이번엔 C++ 부터 본다. 이전 포스팅과 동일한 소스코드로 돌렸다.

#include <tchar.h>
#include <iostream>
#include <ctime>
unsigned long long Adder(unsigned long long number) {
	unsigned long long sum = 0;
	unsigned long long i;
	for (i = 1; i <= number; i++) {
		sum += i;
	}
	return sum;
}
int _tmain(int argc, _TCHAR* argv[])
{
	unsigned long long sum = 0, count = 100000000;
	clock_t st1, ed1;
	do {
		st1 = clock();
		sum = Adder(count);
		ed1 = clock();
		printf("*\nCount added : %llu, ", count);
		printf("*Sum value : %llu, ", sum);
		printf("%e\n", (double)sum);
		printf("*Time elapsed: %d\n", ed1 - st1);
		count += 500000000;
	} while ((ed1 - st1) < 10000);
	return 0;
}

 

결과는 아래와 같다. i7-4790 에서는 10초 동안 42억까지 누산할 수 있었다. for문으로 1부터 42억까지 더하는데 10초가 걸린 것이다. i7-10700 에서는 동일한 시간동안 61억번 할 수 있었다.61 - 42 = 19 이니까 19억번 for문을 더 돌렸다. 비율로는 145% 속도가 빨라졌다.

 

*
Count added : 100000000, *Sum value : 5000000050000000, 5.000000e+15
*Time elapsed: 176
*
Count added : 600000000, *Sum value : 180000000300000000, 1.800000e+17
*Time elapsed: 1058
*
Count added : 1100000000, *Sum value : 605000000550000000, 6.050000e+17
*Time elapsed: 1935
*
Count added : 1600000000, *Sum value : 1280000000800000000, 1.280000e+18
*Time elapsed: 2804
*
Count added : 2100000000, *Sum value : 2205000001050000000, 2.205000e+18
*Time elapsed: 3671
*
Count added : 2600000000, *Sum value : 3380000001300000000, 3.380000e+18
*Time elapsed: 4553
*
Count added : 3100000000, *Sum value : 4805000001550000000, 4.805000e+18
*Time elapsed: 5442
*
Count added : 3600000000, *Sum value : 6480000001800000000, 6.480000e+18
*Time elapsed: 6307
*
Count added : 4100000000, *Sum value : 8405000002050000000, 8.405000e+18
*Time elapsed: 7195
*
Count added : 4600000000, *Sum value : 10580000002300000000, 1.058000e+19
*Time elapsed: 7593
*
Count added : 5100000000, *Sum value : 13005000002550000000, 1.300500e+19
*Time elapsed: 8478
*
Count added : 5600000000, *Sum value : 15680000002800000000, 1.568000e+19
*Time elapsed: 9335
*
Count added : 6100000000, *Sum value : 158255929340448384, 1.582559e+17
*Time elapsed: 10224

 

다음 파이썬이다.

 

import time

def loop_sum(lcount):
    global sum
    for i in range(1, lcount + 1):
        sum += i

loop_count = 10000000
sum = 0
start = 0; end = 0

while True:
    start = time.time()
    loop_sum(loop_count)
    end = time.time()
    print("Count added : ",loop_count)
    print("Sum : ",sum)
    print("Time elapsed : ", round(end-start,3),"sec")
    if end-start > 10.0:
        break
    loop_count += 10000000

 

i7-4790 에서 10초동안 9천만번 for 루프를 했다. i7-10700 에서는 1억3천만번 루프했다. 0.5초가량 오차가 있는데 간격으로 보면 500만번 정도 더 돌았을 것이다. 135 - 90 = 45 로 4천5백만개의 for 루프를 더 돌았다. 비율로는 150%로 C++ 보다 5% 높다. 그런데 테스트를 할 때 마다 약간의 차이가 있었다.

 


Count added :  10000000
Sum :  50000005000000
Time elapsed :  0.746 sec
Count added :  20000000
Sum :  250000015000000
Time elapsed :  1.559 sec
Count added :  30000000
Sum :  700000030000000
Time elapsed :  2.339 sec
Count added :  40000000
Sum :  1500000050000000
Time elapsed :  3.119 sec
Count added :  50000000
Sum :  2750000075000000
Time elapsed :  3.915 sec
Count added :  60000000
Sum :  4550000105000000
Time elapsed :  4.656 sec
Count added :  70000000
Sum :  7000000140000000
Time elapsed :  5.461 sec
Count added :  80000000
Sum :  10200000180000000
Time elapsed :  6.24 sec
Count added :  90000000
Sum :  14250000225000000
Time elapsed :  7.047 sec
Count added :  100000000
Sum :  19250000275000000
Time elapsed :  7.788 sec
Count added :  110000000
Sum :  25300000330000000
Time elapsed :  8.602 sec
Count added :  120000000
Sum :  32500000390000000
Time elapsed :  9.354 sec
Count added :  130000000
Sum :  40950000455000000
Time elapsed :  10.152 sec

Process finished with exit code 0

 

i7-4790

CPU 코어 클록과 배수 모두 i-10700 이 높다. 10700은 4.6기가 까지 간다.

 

i7-10700
i7-4790

 

i7-10700

CPU 온도도 낮게 유지된다. 4790은 기본 쿨러를 사용했고, 10700은 사제 농협쿨러를 달았다. 30도를 유지하니 매우 쾌적하다. 게다가 코어수가 두배다. (코어수 8 스레드 16개)

 

i7-10700으로 바꾸면서 45%~50%의 성능 향상을 보여줘서 만족하고 있다. 아직 그래픽 카드는 1060을 그대로 쓰고 있지만 3060이나 3070 제품이 나오면 구매를 고려중이다.

 

 

공유하기

facebook twitter kakaoTalk kakaostory naver band