How to manage your time more effectively (according to machines) - Brian Christian
- 2,637,765 Views
- 25,379 Questions Answered
- TEDEd Animation
The concept of "quadratic time" is part of the broader study of time complexity in computer science. Quadratic time is often written using "Big-O notation" as "O(n2)," indicating that the algorithm's worst-case time performance grows proportionally to the square of the size of the input. (In the inbox example, the "input" is the number of emails in the inbox.)
The Linux kernel scheduling algorithm described in the lesson is the "O(1) Scheduler" that was introduced in Linux 2.6, replacing the earlier "O(n) Scheduler." The names of these algorithms also make use of Big-O notation: O(n) is also known as "linear time" and O(1) is also known as "constant time." The O(1) Scheduler has since been replaced by the (arguably even simpler) "Completely Fair Scheduler," a part of Linux 2.6.23, which was released in 2007.
There is a great deal of psychology and cognitive science research on the costs of interruptions and context switches in human life and human job performance. See, for instance, Stephen Monsell, "Task Switching."
The 2013 battery life improvement discussed in the lesson was due in large part to Intel’s Haswell chip, which offered improved low-power states that made interrupt coalescing a particularly smart idea. Microsoft began using interrupt coalescing in Windows 7, and both Windows 8 and Mac OS X Mavericks included code written specifically to take advantage of the low-power resting state of the Haswell chip and to conserve power through interrupt coalescing.
Many of the ideas in this lesson are discussed at greater length, alongside other algorithmic strategies for time management, in the book Algorithms to Live By by Brian Christian and Tom Griffiths.
Create and share a new lesson based on this one.