데이터 사이언스를 위해서 효율적인(efficient) 파이썬 혹은 R코드를 작성하게 된다. 효율적인 코드는 다음 두가지 조건을 모두 충족하는 코드를 일반적으로 지칭한다.
여기에 더해서 가독성(readability)도 중요하다.
효율적인(efficient) 파이썬 혹은 R코드를 측정하기 위해서 파이썬과 R 모두 다양한 팩키지와 모듈이 출시되어 있다.
쥬피터 노트북 혹은 IPython의 마술 명령어(magic command) %timeit
을 들 수 있고,
%timeit -r3 -n5
명령은 3번 5회 반복을 의미한다.
-r
: 실행횟수-n
: 반복횟수-o
: 실행결과를 저장%timeit
은 한행에 한정되지만, %%timeit
을 사용하게 되면 셀(cell)에 포함된 전체 코드가 대상이 된다.
쥬피터 혹은 IPython 노트북에서 마술 명령어(magic command), %timeit
을 사용해도 되지만, 전체 코드 실행시간을 얘기할 뿐 코드 내부에 행별로 나눠서 실행시칸을 명시적으로 얘기하고 있지는 않고 있다.
이를 위해서 line_profiler
팩키지를 사용해서 행별로 실행되는데 소요된 시간을 측정하여 효율적인 코드로 탈바꿈시킬 수 있다.
memory_profiler
팩키지를 사용해서 행별로 소요되는 메모리 점유량을 측정할 수 있다.