diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2021-04-16 17:54:02 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-04-16 17:54:02 +0000 |
commit | ef2f29d2b3cf25a46be203d6b12ad0eceaf270b2 (patch) | |
tree | b9a6b60023b853553ae095370bf251a2f1f7640e /catapult/devil/devil/utils/decorators.py | |
parent | 7765787e58b7e3c43ec63e5764e7c4e1223fa0af (diff) | |
parent | 19f3aab438b0ede9adb9b1a382d44e143de5bd1e (diff) | |
download | chromium-trace-ef2f29d2b3cf25a46be203d6b12ad0eceaf270b2.tar.gz |
Merge changes I195c394b,Iff693cf6 am: b101eec5e1 am: d5085cc096 am: 19f3aab438
Original change: https://android-review.googlesource.com/c/platform/external/chromium-trace/+/1677030
Change-Id: Ic028cdd0d1a6d9d99b303ebb29760375db515bcb
Diffstat (limited to 'catapult/devil/devil/utils/decorators.py')
-rw-r--r-- | catapult/devil/devil/utils/decorators.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/catapult/devil/devil/utils/decorators.py b/catapult/devil/devil/utils/decorators.py new file mode 100644 index 00000000..5d286107 --- /dev/null +++ b/catapult/devil/devil/utils/decorators.py @@ -0,0 +1,17 @@ +# Copyright 2021 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import functools + + +def Memoize(f): + """Decorator to cache return values of function.""" + memoize_dict = {} + @functools.wraps(f) + def wrapper(*args, **kwargs): + key = repr((args, kwargs)) + if key not in memoize_dict: + memoize_dict[key] = f(*args, **kwargs) + return memoize_dict[key] + return wrapper |