Identifying Hardware Bottlenecks