That's just how computer science works. When a task is linear (or serial if you prefer) you can't break it down into smaller task (e.g. multithreading) to improve performance. Emulating a GC or Wii is a very linear task; there are only a few places where tasks can be run in parallel at the same time.
See here for more info: https://dolphin-emu.org/docs/faq/#couldnt-dolphin-use-more-my-cpu-cores-go-faster
See here for more info: https://dolphin-emu.org/docs/faq/#couldnt-dolphin-use-more-my-cpu-cores-go-faster
