Evaluating the performance of multithread applications