Swiftgram/AsyncDisplayKit/Private/ASDisplayNode+DebugTiming.mm
2014-06-26 22:32:55 -07:00

89 lines
1.8 KiB
Plaintext

/* Copyright (c) 2014-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
#import "ASDisplayNode+DebugTiming.h"
#import "ASDisplayNodeInternal.h"
@implementation ASDisplayNode (DebugTiming)
#if TIME_DISPLAYNODE_OPS
- (NSTimeInterval)debugTimeToCreateView
{
return _debugTimeToCreateView;
}
- (NSTimeInterval)debugTimeToApplyPendingState
{
return _debugTimeToApplyPendingState;
}
- (NSTimeInterval)debugTimeToAddSubnodeViews
{
return _debugTimeToAddSubnodeViews;
}
- (NSTimeInterval)debugTimeForDidLoad
{
return _debugTimeForDidLoad;
}
- (NSTimeInterval)debugAllCreationTime
{
return self.debugTimeToCreateView + self.debugTimeToApplyPendingState + self.debugTimeToAddSubnodeViews + self.debugTimeForDidLoad;
}
// This would over-count views that are created in the parent's didload or addsubnodesubviews, so we need to take a more basic approach
//- (NSTimeInterval)debugRecursiveAllCreationTime
//{
// __block NSTimeInterval total = 0;
// ASDisplayNodeFindAllSubnodes(self, ^(ASDisplayNode *n){
// total += self.debugTimeToCreateView;
// total += self.debugTimeToApplyPendingState;
// total += self.debugTimeToAddSubnodeViews;
// total += self.debugTimeForDidLoad;
// return NO;
// });
// return total;
//}
#else
// These ivars are compiled out so we don't have the info available
- (NSTimeInterval)debugTimeToCreateView
{
return -1;
}
- (NSTimeInterval)debugTimeToApplyPendingState
{
return -1;
}
- (NSTimeInterval)debugTimeToAddSubnodeViews
{
return -1;
}
- (NSTimeInterval)debugTimeForDidLoad
{
return -1;
}
- (NSTimeInterval)debugAllCreationTime
{
return -1;
}
#endif
@end