Python List 관련 시간 테스트

리스트에 항목을 추가하거나 삭제할 때 시간 비교 테스트 소스와 결과이다.

먼저 리스트에 항목을 추가할 때 append 함수 사용과 value를 직접 입력할 때의 비교이다.

def make_list_append():
    result = []
    for value in range(rng):
        result.append(value)
    return result

def make_list_value():
    result = [value for value in range(rng)]
    return result

print('make app:',timeit(make_list_append, number=100), 'sec')
print('make val:',timeit(make_list_value, number=100), 'sec')

make app: 0.18112610427645098 sec
make val: 0.06325183058769349 sec


value를 직접 입력하는게 2개 이상 빠르다.

다음은 삭제 시 del 함수와 remove 함수 비교 이다.

참고로 del은 리스트 함수가 아니고 파이썬 구문이다. 객체로부터 이름을 분리하고 객체의 메모리를 비워준다.

def make_list_del():
    result = make_list_value()
    for value in range(len(result)):
        del result[-1]
    return
def make_list_remove():
    result = make_list_value()
    for value in range(len(result)):
        result.remove(value)
    return
print('make del:',timeit(make_list_del, number=100), 'sec')
print('make rem:',timeit(make_list_remove, number=100), 'sec')

make del: 0.21188408293458078 sec
make rem: 1.5563638943714422 sec

참고로 del은 리스트 함수가 아니고 파이썬 구문이다. 객체로부터 이름을 분리하고 객체의 메모리를 비워준다.

del이 압도적으로 빠르다.

댓글

이 블로그의 인기 게시물

파이참에서 인터프리터 꼬인 경우 처리

경사소실 문제 해결

근무 시작시간과 근무시간 입력 받아 근무 종료시간 반환하는 함수