Objective-C Language Mesure de la performance d'un bloc de code:


Exemple

1. Pour les méthodes synchrones:

- (void)testPerformanceReverseString {
    NSString *originalString = @"hi_my_name_is_siddharth";
    [self measureBlock:^{
        [self.someObject reverseString:originalString];
    }];
}

2. Pour les méthodes asynchrones:

- (void)testPerformanceOfAsynchronousBlock {
   [self measureMetrics:@[XCTPerformanceMetric_WallClockTime] automaticallyStartMeasuring:YES forBlock:^{
    
    XCTestExpectation *expectation = [self expectationWithDescription:@"performanceTestWithResponse"];
    
    [self.someObject doSomethingThatTakesSomeTimesWithCompletionBlock:^(NSString *result) {
        [expectation fulfill];
    }];
    [self waitForExpectationsWithTimeout:5.0 handler:^(NSError *error) {
    }];
}];
}
  • Ce bloc de mesure de performance est exécuté 10 fois de suite, puis la moyenne est calculée et, sur la base de cette performance moyenne, le résultat est créé et la référence est acceptée pour une évaluation ultérieure.
  • Le résultat de la performance est comparé aux résultats des tests précédents et à la ligne de base avec un écart-type maximal personnalisable.