476 karma · joined September 13, 2017
Basically, your program will normally halt when doing I/O, and won't proceed until that I/O is done. During that halt, your program is doing nothing (no cpu being used). With asyncio, you can schedule multiple tasks to run, so if one is halted doing I/O, another can run.
Edit: And AFAIK, the GIL does not come into play at all with async. Only when multithreading.
JS frontend seems to have been going through churn for over a decade now. It's a messy language, and because we've been forced to use it as the sole frontend language for a while people have been trying to figure out how best develop with it. Hopefully, with more language support in Wasm, JS will finally be replaced.
So I'm just trying to trudge along and progress when and where I can, and try my best to get my work done. I'm fortunately working from home, so no commute to add to the burnout. I've also not had a decent vacation in years. I did take two weeks off between my last job and this one, but that was mainly to catch up around the house. I tried to negotiate vacation time at this position, but they refused, which means I'm slowly accruing PTO. I'm hoping by April I'll have enough to take two weeks off and go somewhere nice.
I'm not sure I have advice that others haven't given. But it can get better. Rely on your wife or family if you can to help with the kids and house, and push them for help if need be. Find a therapist if you think that could help. Make sure to keep work and life separate as much as you can. Meaning be sure to unplug from work when you're home, and to have as few distractions from home while working. If you do find yourself getting distracted at work, see if you can walk away for a bit (even literally go for a short walk). Also, rely on your coworkers to help you. Ask, even nag, them for assistance if you get stuck. Try to make friends at work, and maybe push for fun, team-building events if that doesn't currently happen. I think showing you're trying will be big if your boss thinks productivity isn't where it should be.
Good luck!