python
python(기초)-파이썬의 속도개선방법
작성자
sjpark
작성일
2024-08-21 21:26
조회
243
아래글의 중요한 지점은 반복구문이 많아서, 속도가 조금이라도 빠르게 적용해야 할 부분에서 사용하시면 되며,
그리 많은 코드나 시간을 요하지 않는다면, 크게 신경쓰지 않으셔도 됩니다
1. 가급적, dot 연산자를 피한다, .를 할때마다 실행되는 던더메소드의 실행이 줄어드는 것이다
2. 많은 문자열을 +는 역할을 한다면, +를 사용하는대신에 join()함수를 사용하면 좋다. 그이유는 문자열을
더한다는 것은 새로운 각각의 문자열을 새로운 공간에 복사해서 작업을 하는데, join 을 사용하면
컴파일시에 메모리공간을 미리 할당해서 사용하므로 속도가 줄어든다
3. 반복문을 최적화한다. 예를들면 if~elif 등을 순서를 바꾸면 좋아지는 경우도 있다
4. python 버전을 확인해서, 기존것보다 빠르다면 그것을 사용한다
5. 두 사전을 더할 때, combined_dict 를 사용한다
6. range 대신에 xrange 를 사용하면, 한번에 모든 것을 만들어놓고 하지 않으므로 빠르다
7. list 자료는 배열이라서, 맨뒤에만 넣거나 빼는 것은 문제가 없는데, 중간이나 제일앞에 적용할때는 다
바꿔야 하므로 늦어집니다. 그러니 그런경우가 많을때는 deque 를 사용하시기를 권합니다
그리 많은 코드나 시간을 요하지 않는다면, 크게 신경쓰지 않으셔도 됩니다
1. 가급적, dot 연산자를 피한다, .를 할때마다 실행되는 던더메소드의 실행이 줄어드는 것이다
2. 많은 문자열을 +는 역할을 한다면, +를 사용하는대신에 join()함수를 사용하면 좋다. 그이유는 문자열을
더한다는 것은 새로운 각각의 문자열을 새로운 공간에 복사해서 작업을 하는데, join 을 사용하면
컴파일시에 메모리공간을 미리 할당해서 사용하므로 속도가 줄어든다
3. 반복문을 최적화한다. 예를들면 if~elif 등을 순서를 바꾸면 좋아지는 경우도 있다
4. python 버전을 확인해서, 기존것보다 빠르다면 그것을 사용한다
5. 두 사전을 더할 때, combined_dict 를 사용한다
6. range 대신에 xrange 를 사용하면, 한번에 모든 것을 만들어놓고 하지 않으므로 빠르다
7. list 자료는 배열이라서, 맨뒤에만 넣거나 빼는 것은 문제가 없는데, 중간이나 제일앞에 적용할때는 다
바꿔야 하므로 늦어집니다. 그러니 그런경우가 많을때는 deque 를 사용하시기를 권합니다