First, let's take an accurate look at the total time cost when your program asks the system to perform different kinds of services. I/O is expensive. In the following chart (taken from Ryan Dahl's original presentation on Node), we can see how many clock cycles typical system tasks consume. The relative cost of I/O operations is striking:
L1 cache
|
3 cycles |
L2 cache | 14 cycles |
RAM |
250 cycles
|
Disk | 41,000,000 cycles |
Network | 240,000,000 cycles |
The reasons are clear enough: a disk is a physical device, a spinning metal platter — storing and retrieving that data is much slower than moving data between solid-state devices (such as microprocessors and memory chips), or indeed optimized on-chip L1/L2 caches. Similarly, data does not move from point to point on a network instantaneously. Light itself needs 0...