diff --git a/HTMLKit.xcodeproj/project.pbxproj b/HTMLKit.xcodeproj/project.pbxproj index 543bf53..16f599b 100644 --- a/HTMLKit.xcodeproj/project.pbxproj +++ b/HTMLKit.xcodeproj/project.pbxproj @@ -55,6 +55,8 @@ 6239755B1AC362CA007E26F1 /* HTMLKitTreeConstructionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 623975591AC362CA007E26F1 /* HTMLKitTreeConstructionTests.m */; }; 6239755E1AC364BB007E26F1 /* HTML5LibTreeConstructionTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 6239755D1AC364BB007E26F1 /* HTML5LibTreeConstructionTest.m */; }; 6239755F1AC364BB007E26F1 /* HTML5LibTreeConstructionTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 6239755D1AC364BB007E26F1 /* HTML5LibTreeConstructionTest.m */; }; + 623CAF9D1AD88BEA00E34C32 /* HTMLKitParserPerformance.m in Sources */ = {isa = PBXBuildFile; fileRef = 623CAF9C1AD88BEA00E34C32 /* HTMLKitParserPerformance.m */; }; + 623CAF9E1AD88BEA00E34C32 /* HTMLKitParserPerformance.m in Sources */ = {isa = PBXBuildFile; fileRef = 623CAF9C1AD88BEA00E34C32 /* HTMLKitParserPerformance.m */; }; 624493A619CCC54100BCDDF4 /* HTMLTokenizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 624493A419CCC54100BCDDF4 /* HTMLTokenizer.h */; }; 624493A719CCC54100BCDDF4 /* HTMLTokenizer.m in Sources */ = {isa = PBXBuildFile; fileRef = 624493A519CCC54100BCDDF4 /* HTMLTokenizer.m */; }; 624493A819CCC54100BCDDF4 /* HTMLTokenizer.m in Sources */ = {isa = PBXBuildFile; fileRef = 624493A519CCC54100BCDDF4 /* HTMLTokenizer.m */; }; @@ -178,6 +180,7 @@ 623975591AC362CA007E26F1 /* HTMLKitTreeConstructionTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLKitTreeConstructionTests.m; sourceTree = ""; }; 6239755C1AC364BB007E26F1 /* HTML5LibTreeConstructionTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTML5LibTreeConstructionTest.h; sourceTree = ""; }; 6239755D1AC364BB007E26F1 /* HTML5LibTreeConstructionTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTML5LibTreeConstructionTest.m; sourceTree = ""; }; + 623CAF9C1AD88BEA00E34C32 /* HTMLKitParserPerformance.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLKitParserPerformance.m; sourceTree = ""; }; 624493A419CCC54100BCDDF4 /* HTMLTokenizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLTokenizer.h; sourceTree = ""; }; 624493A519CCC54100BCDDF4 /* HTMLTokenizer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTMLTokenizer.m; sourceTree = ""; }; 624493A919CCE84A00BCDDF4 /* HTMLTokenizerStates.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HTMLTokenizerStates.h; sourceTree = ""; }; @@ -309,6 +312,7 @@ 6239755C1AC364BB007E26F1 /* HTML5LibTreeConstructionTest.h */, 6239755D1AC364BB007E26F1 /* HTML5LibTreeConstructionTest.m */, 623975591AC362CA007E26F1 /* HTMLKitTreeConstructionTests.m */, + 623CAF9C1AD88BEA00E34C32 /* HTMLKitParserPerformance.m */, ); name = "Tree Construction"; sourceTree = ""; @@ -664,6 +668,7 @@ buildActionMask = 2147483647; files = ( 6239755B1AC362CA007E26F1 /* HTMLKitTreeConstructionTests.m in Sources */, + 623CAF9E1AD88BEA00E34C32 /* HTMLKitParserPerformance.m in Sources */, 6236738F1AC0CE2500FF89B3 /* HTMLKitTokenizerPerformance.m in Sources */, 624AC90219FBF9ED00BD3C4A /* HTMLKitTokenizerTests.m in Sources */, 623916C81AC7209E0066B4FE /* HTMLKitNodeTreeEnumratorTests.m in Sources */, @@ -709,6 +714,7 @@ buildActionMask = 2147483647; files = ( 6239755A1AC362CA007E26F1 /* HTMLKitTreeConstructionTests.m in Sources */, + 623CAF9D1AD88BEA00E34C32 /* HTMLKitParserPerformance.m in Sources */, 6236738E1AC0CE2500FF89B3 /* HTMLKitTokenizerPerformance.m in Sources */, 624AC90119FBF9ED00BD3C4A /* HTMLKitTokenizerTests.m in Sources */, 623916C71AC7209E0066B4FE /* HTMLKitNodeTreeEnumratorTests.m in Sources */, diff --git a/HTMLKit.xcodeproj/xcshareddata/xcbaselines/625A14C219C7829400AD0C32.xcbaseline/5AB53A08-CDD0-43FB-B47F-2EE38B3FE707.plist b/HTMLKit.xcodeproj/xcshareddata/xcbaselines/625A14C219C7829400AD0C32.xcbaseline/5AB53A08-CDD0-43FB-B47F-2EE38B3FE707.plist index 98a2c6e..1ca3272 100644 --- a/HTMLKit.xcodeproj/xcshareddata/xcbaselines/625A14C219C7829400AD0C32.xcbaseline/5AB53A08-CDD0-43FB-B47F-2EE38B3FE707.plist +++ b/HTMLKit.xcodeproj/xcshareddata/xcbaselines/625A14C219C7829400AD0C32.xcbaseline/5AB53A08-CDD0-43FB-B47F-2EE38B3FE707.plist @@ -4,6 +4,19 @@ classNames + HTMLKitParserPerformance + + testParserPerformance + + com.apple.XCTPerformanceMetric_WallClockTime + + baselineAverage + 18.23 + baselineIntegrationDisplayName + Local Baseline + + + HTMLKitTokenizerPerformance testTokenizerPerformance diff --git a/HTMLKitTests/HTMLKitParserPerformance.m b/HTMLKitTests/HTMLKitParserPerformance.m new file mode 100644 index 0000000..f4839d0 --- /dev/null +++ b/HTMLKitTests/HTMLKitParserPerformance.m @@ -0,0 +1,31 @@ +// +// HTMLKitParserPerformance.m +// HTMLKit +// +// Created by Iska on 11/04/15. +// Copyright (c) 2015 BrainCookie. All rights reserved. +// + +#import +#import "HTMLParser.h" + +@interface HTMLKitParserPerformance : XCTestCase + +@end + +@implementation HTMLKitParserPerformance + +- (void)testParserPerformance +{ + NSString *path = [[NSBundle bundleForClass:self.class] resourcePath]; + path = [path stringByAppendingPathComponent:@"HTML Standard.html"]; + + NSString *string = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil]; + + [self measureBlock:^{ + HTMLParser *parser = [[HTMLParser alloc] initWithString:string]; + [parser parseDocument]; + }]; +} + +@end