From cc567e7e38fe2eec0d2e061024f8381447eb39d5 Mon Sep 17 00:00:00 2001 From: Matt Wala <wala1@illinois.edu> Date: Fri, 17 Feb 2017 15:54:12 -0600 Subject: [PATCH] codegen: wrap implemented_domains in a LazilyUnpicklingDictionary. --- loopy/codegen/__init__.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/loopy/codegen/__init__.py b/loopy/codegen/__init__.py index 6f312ec79..738def915 100644 --- a/loopy/codegen/__init__.py +++ b/loopy/codegen/__init__.py @@ -397,10 +397,13 @@ def generate_code_v2(kernel): if CACHING_ENABLED: input_kernel = kernel try: + print("===trying to find kernel") result = code_gen_cache[input_kernel] + print("===FOUND") logger.debug("%s: code generation cache hit" % kernel.name) return result except KeyError: + print("===NOT FOUND") pass # }}} @@ -506,6 +509,12 @@ def generate_code_v2(kernel): # }}} + # For faster unpickling in the common case when implemented_domains isn't needed. + from loopy.tools import LazilyUnpicklingDictionary + codegen_result = codegen_result.copy( + implemented_domains=LazilyUnpicklingDictionary( + codegen_result.implemented_domains)) + logger.info("%s: generate code: done" % kernel.name) if CACHING_ENABLED: -- GitLab