YYModel和MJExtension的性能测试

一、简单介绍

YYKit 是有一组功能丰富的 iOS 组件,而其中YYModel就是其旗下的字典转模型的一个组件。下面我们可以先去看看网站上YYModel的一张图。

YYModel和MJExtension的性能测试_第1张图片

二、具体测试

首先我们准备好一个字典数据和一个模型类,然后分别使用YYModel的和MJExtension的字典转模型

模型类

#import 

@interface Person : NSObject

@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSString *nickNames;
@property (nonatomic, copy) NSString *age;
@end

测试代码

- (void)viewDidLoad {
    [super viewDidLoad];

    
    NSDictionary *dict = @{@"name":@"Mike",@"nickNames":@"夫子",@"age":@"19"};
    
    [self testYY:dict];

    [self testMJ:dict];

}

- (void)testYY:(NSDictionary *)dict{
    
    CFAbsoluteTime start = CFAbsoluteTimeGetCurrent();
    
    for (int i = 0; i<100000; i++) {
         @autoreleasepool {
        Person *p = [Person modelWithDictionary:dict];
         }
    }
    
    NSLog(@"%.2f",CFAbsoluteTimeGetCurrent() - start);
    
    
}

- (void)testMJ:(NSDictionary *)dict{
    
    CFAbsoluteTime start = CFAbsoluteTimeGetCurrent();
    
    for (int i = 0; i<100000; i++) {
        @autoreleasepool {
        Person *p = [Person mj_objectWithKeyValues:dict];
        }
        
    }
    
    NSLog(@"%.2f",CFAbsoluteTimeGetCurrent() - start);
    
    
}

测试结果,主要是通过CFAbsoluteTime的起止时间来测定的

YYModel和MJExtension的性能测试_第2张图片

你可能感兴趣的:(ios-开发)