Python으로 Open API을 연결한 GUI를 만들었더니
패킷 수신량이 많아서 GUI에 렉걸림;;
그래서
멀티프로세싱 방식으로 다시 코드를 짜려하는데
어떤거로 해야 유리할지 모르겠음
C언어로 바인딩하여 사용?
멀티프로세싱 관련한 파이썬 모듈을 사용?
Python으로 Open API을 연결한 GUI를 만들었더니
패킷 수신량이 많아서 GUI에 렉걸림;;
그래서
멀티프로세싱 방식으로 다시 코드를 짜려하는데
어떤거로 해야 유리할지 모르겠음
C언어로 바인딩하여 사용?
멀티프로세싱 관련한 파이썬 모듈을 사용?
IO에서 병목 생기는거면 파이썬 멀티쓰레딩
멀티쓰레딩 모듈을 이미 사용하고 있는데 이러는거라 코드 최적화는 아직 응애라 모르겠궁.....GPT에 물어봤더니 Threading 모듈이랑 QThread모듈은 멀티프로세싱을 지원하지 않고 Parallelism적이 아닌 Cocurrency적으로 적용된다라고 설명하던데
async 를 사용 ㄱㄱ
pyqt에 Thread쓰면 GUI렉안걸림
coroutine을 async에 싸서 드셔보세요
import asyncio
해당 gui의 쓰레드를 사용함 예를 들면
https://realpython.com/python-pyqt-qthread/
멀티스레딩이나 비동기적 프로그래밍은 단순히 GUI 코드에서 time.sleep()하는 것 같이 프리징이 일어나는 상황을 방지하는 것일뿐 그 이상의 효과는 기대하기 어려운거 같은데 아닌가