파이썬에서 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기가나 잡아먹는다....
'컴퓨터 > 파이썬팁' 카테고리의 다른 글
파이썬 set과 list의 특징 (0) | 2020.03.17 |
---|---|
파이썬 문자열 사용법에 따라 인코딩 속도 차이가 있음 (0) | 2020.03.17 |