파이썬에서 set과 list의 속도차이를 알고 싶어 진행한 실험이다.

테스트환경은

CPU : 3900X

RAM : 128GB

이며

간단한 테스트를 위해 python idle환경에서 테스트하였다.

 

코드는 list와 set에 10억번의 랜덤값을 집어넣은 후

max, min, in을 각각 실행하여 실행시간을 측정하는 방법이다.

코드는 다음과 같다.

대표적으로 iteration을 이용하는 max와 min함수의 실행시간을 측정하였고

탐색함수 in의 실행시간을 측정하였다.

 

결과는 다음과 같다.

결과는 위를 보면 알 수 있듯이

iteration의 경우 list가 14~16초로 압도적으로 빨랐다.

set의 경우 233초로 매우 긴 시간이 걸림을 확인할 수 있다.

 

하지만

in 함수의 경우

list는 8초

set은 0초(!!)라는 엄청난 시간차이를 보여준다.

 

결론

in함수를 많이 사용하는 코드는 set으로

iteration을 많이 사용하는 코드는 list로 짜자.

 

여담

랜덤한 실수 10억개는

메모리를 100기가나 잡아먹는다....

+ Recent posts