Currently I'm using python 3.4.3 and developing PyQt5 application.
In my app, there's a QThread, and some large object(100MB) is being (pickle) dumped by the thread.
However, dumping that object requires 1~2 seconds, and it blocks the main thread about 1~2 seconds because of GIL.
How can I solve this issue(non-blocking the main thread)?
I think that serializing my object to string takes time and it requires GIL, eventually blocks the main thread.(As I know, writing to file does not require GIL)
I'm thinking about using Cython, but since I'm the beginner in cython, I'm not sure whether or not using Cython will solve this issue.
Is there any way to work around this issue?
Edit: I tried multiprocessing
module, but the intercommunication time (passing shared memory variables across processes) also takes about 1~2 seconds, which eventually gives no advantages.