[ASTextNode] Add NSCache based cache for ASTextKitRenderer (#2199)

* Add cache implementation

* Remove old ASEqualityHashHelpers

* Some more ASEquality and ASEqualityHashHelper cleanup

* Add cache for text renderer in ASTextNode

* Move from C++ LRU renderer cache to NSCache based renderer cache
This commit is contained in:
Michael Schneider
2016-09-07 00:23:21 +02:00
committed by Adlai Holler
parent 6124830b23
commit 2388f67474
9 changed files with 126 additions and 227 deletions

View File

@@ -0,0 +1,21 @@
//
// ASEqualityHashHelpers.mm
// AsyncDisplayKit
//
// 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 "ASEqualityHashHelpers.h"
NSUInteger ASIntegerArrayHash(const NSUInteger *subhashes, NSUInteger count)
{
uint64_t result = subhashes[0];
for (int ii = 1; ii < count; ++ii) {
result = ASHashCombine(result, subhashes[ii]);
}
return ASHash64ToNative(result);
}