Do you know how much your computer can do in a second?
Alternatively: do you know how much your computer <i>could</i> do in a second, but isn't, because the majority of software is so full of inefficiency?<p>In my experience, this is something that a lot of developers don't really comprehend. Many of them will have some idea about theoretical time complexity, but then see nothing wrong with what should be a very trivial operation taking several <i>seconds</i> of CPU time on a modern computer. One of the things I like to do is tell them that such a period of time corresponds to several <i>billion</i> instructions, and then ask them to justify what it is about that operation that needs that amount of instructions. Another thing is to show them some demoscene productions.<p>I got a few of these questions wrong because I don't use Python, but I could probably say with reasonable confidence how fast these operations <i>could</i> be.<p>Related articles:<p><a href="https://en.wikipedia.org/wiki/Wirth%27s_law" rel="nofollow">https://en.wikipedia.org/wiki/Wirth%27s_law</a><p><a href="http://hallicino.hubpages.com/hub/_86_Mac_Plus_Vs_07_AMD_DualCore_You_Wont_Believe_Who_Wins" rel="nofollow">http://hallicino.hubpages.com/hub/_86_Mac_Plus_Vs_07_AMD_Dua...</a> (I know title is a BuzzFeed-ism, but this article came from before that era.)