How do threads affect performance of an implementation?