Software Bottlenecks