Wallet Network / CPU Performance Optimization
This is somewhat of a question in addition to an idea, as I'm sure someone else has already put more thought into this than I have.
The problem: the Monero Wallet on Linux (monero-wallet-cli) never seems to download and process data at the same time. I have observed this when using a remote node, although I'm not sure if the same problem occurs when running a local node.
The following image illustrates it perfectly:
Notice that the pattern alternates between high CPU usage and high Network usage, but never both at the same time. The result is that even when a remote node is in use, syncing takes a very long time.
I'd love to get familiar with the code and assist with some performance optimizations. Is something like this already in the works (perhaps taking advantage of threading/multiprocessing, etc.)? Do you have any recommendations for how I can help?