In college, one of my computer science professors was giving a lecture in which he explained all the low level things (like setting up the stack) that go into calling a function. Then he compared it to the context switches that occur during multitasking. That comparison has stuck with me ever since. It made me very aware that there's a cost to switching tasks each time you do it.