4 ms·
People talk a lot about the costs of context switching, but not about how to reduce those costs. Instead they talk about reducing context switches, which is oft
by twblalock 6y ago
People talk a lot about the costs of context switching, but not about how to reduce those costs. Instead they talk about reducing context switches, which is often unrealistic.
The cost of context switching can be reduced, and reducing it is one of the most important job skills and productivity gains you can get. It will also reduce your frustration.
Break up your mental model of what you are doing into smaller tasks. Compartmentalize. Encapsulate. If you are in the middle of something so intricate that you would forget what you were doing if you stepped away from it for a few minutes, persist that state somewhere outside your brain -- write it down!
Very few of us are in a position where we can lock ourselves away from others for hours of deep work at a time. So, focus on reducing the impact of the interruptions!
- baby 6y agoIf we’re engineering ourselves there’s a few problems we need to solve. What you’re talking about is saving the registers/state before switching thread. Another problem is figuring out what’s next to schedule. Visualizing your task as a non-ordered list doesn’t work well. What you need is to order your work with a priority queue. Another problem is interrupts: what are the things that take you out of a task? For example, emails, notifications, etc. Another problem is the noisy neighbor problem: you might get disrupted by other people’s performance, or what they’re working on, or your own lack of progress, etc. The solution of course was given by Feynman: disregard!
- redisman 6y agoI’m also trying to lessen my ownership over too many systems (small company). If someone else is the go to guy/gal for System C I can just hit them with a 301 Redirect rather than context switching to figure out what they’re asking about and what the implementation details were