Sleep Deprivation Experiments

In the course of my studies at Berkeley, I have been able to conduct several of my own sleep deprivation experiments. I collected the most data in Spring of 1994, when I took cs150 and cs184 at the same time. Here is a brief summary of my findings on the different methods of sleep management and deprivation:

8 Hours Every Night

This is the theoretical ideal sleep management technique. Unfortunately, it has been difficult to implement in practice, since I work really slowly on homework. We need to collect more data on this method.

4 Hours Every Night

Although similar to the "8-hour" method, we have much more data on this one. This appears to be the best compromise between theory and practice. It is enough sleep to enable proficient programming, but not necessarily enough to stay awake during 1.5 hour lectures. Common side effects include minor headaches and a decreased energy level.

2 Hours Every Night

This method is often a last resort during "project crunch times". It is sustainable for only short periods of time (2-4 days) before total exhaustion begins. After the first day, programming skills are reduced. Experimental subjects have difficulty reasoning clearly about complex topics. They occasionally nod off while programming, and make mistakes much more frequently. MTBN (mean time between naps) in class is reduced to 15 minutes. Common side effects include prolonged headaches, disorientation, and blurred vision. This method also leaves the subject vulnerable to caffeine addiction.

Sporadic All-Nighters

Rather than spreading the misery out over several days, this method concentrates the misery on a single day, which can be advantageous if the experimental subject has few obligations that day. The effects on the "day after" are similar to the "2-hour" method above (15 minute MTBN). At least six hours of sleep the following night returns the subject to normal status.

The Neverending Day

This method is used only rarely, when project deadlines loom in the near future and projects are far from completed. This method is, by far, the least desirable. Also known by the terms "consecutive all-nighters" and "caffeine tripping", this method involves foregoing sleep until the project is finished. After 36 hours, MTBN falls below 5 minutes, making class attendance a futile effort. Common side effects include spontaneous memory lapses, nervousness, panic attacks, hallucinations, momentary lapses of consciousness, and inability to perform basic logic functions. Our longest experiment lasted 68 hours (cs162 project), which the subject described as "pure and utter hell." Full recovery requires 12-16 hours of sleep. Even then, the subject will feel "jet lag" and disoriented for a day or two afterwards.

The 32-Hour Day

In theory, this method has few drawbacks, especially if the subject has a stretch of 4 days without classes (such as spring break, Thanksgiving, or the week before finals). The subject works 25 hours, sleeps 7, works 25 hours, sleeps 7, works 25, sleeps 7, and then is back on normal schedule. In effect, three 32-hour "virtual days" replace four 24-hour days.

This method has several unique advantages. The subject gets a full night's sleep every "virtual night", and 25-hour stretches are not very strenuous. Additionally, during "crunch time", the subject gets to take advantage of lower computer loads at odd hours. Furthermore, some subjects find it easier to wake up and get out of bed at 4pm and midnight than at the usual 8am, since there tends to be more surrounding activity at those times. After four days, the subject's schedule is back in synch with a 24-hour schedule.

The unforeseen drawback is that the subject's internal clock does not exactly appreciate this sudden alteration of the sleep cycle. Disorientation, momentary lapses of consciousness, and headaches are common. However, analytical capability is not diminished nearly as much as with some other methods, and programming proficiency is diminished only slightly.

The 48-Hour Day

I became acquainted with this method, also known as "sleeping alternate nights", in the summer of 1995. I had moved back home to Belmont, and so my daily commute (by public transportation) was about 3 hours each way. I soon found that I could not afford to spend 6 hours a day on the road; I spent almost as much time commuting as I did programming. To reduce the amount of commuting time, I started pulling 48-hour virtual days. I would go to the computer lab in the morning, pull an all-nighter there, and go home the following evening. Thus I only travelled one way each day, and I cut my commuting time in half.

The obvious advantage of this method is that I was able to put in 30 hours of programming every two days, and still got 10 hours of sleep every other night. The disadvantages included an increase in caffeine dependency, and sleep-deprivation effects towards the latter end of the 30-hour stretches. To compensate, I would often tackle the most challenging problems on the first day, and do less intensive things (such as debugging, test cases, and writing documentation) on the second day.

This approach worked well under the circumstances. The internal clock appreciated the fact that I was going to sleep at the same time every other day. The savings in commuting time more than made up for the lower efficiency due to sleep-deprivation effects.


Disclaimer: In case it wasn't obvious, this page is intended solely for amusement. There were no scientific experiments, I was only speaking about my own experiences of staying up late to finish programming projects. I wrote it in 3rd person as a humor device. -- Lucas


Back to Lucas' writings.
Back to Lucas' homepage.