반응형
이 이슈를 접한 것은, 제가 쓰던 프로그램에서
os.listdir을 사용하였기 때문입니다.
os.listdir을 사용했을 때 deque를 사용하는 방법은 다음과 같습니다.
from collections import deque
dq = deque(os.listdir('.'))
하지만 멀티 쓰레드 애플리케이션의 경우에는 deque보다는 queue.Queue를 사용하는게 좋다고 말했습니다.
하지만 queue.Queue(os.listdir('.')) 는 통용되지 않습니다.
그럼 직접 옮겨야 되는데, 다음 참고할 만한 레퍼런스가 있습니다.
stackoverflow.com/questions/21639888/is-it-possible-to-convert-list-to-queue-in-python/41581928
import queue
l = [i for i in range(1000)]
q = queue.Queue()
[q.put(i) for i in l]
q2 = queue.Queue()
q2.queue = queue.deque(l)
위에서 두 가지 방법이 있는데,
q2가 q 보다 훨씬 100배 이상 빠르다고 합니다.
다음에는 코드 성능 측정하는 방법도 알아보면 좋겠네요~
반응형
'Python' 카테고리의 다른 글
Python time 라이브러리 활용한 로그 찍기 (0) | 2022.05.10 |
---|---|
list vs Queue vs Deque 멀티쓰레딩 파이썬 (0) | 2021.03.09 |