From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.136; helo=mga12.intel.com; envelope-from=jaben.carsey@intel.com; receiver=edk2-devel@lists.01.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 056BD210D83E2 for ; Fri, 3 Aug 2018 08:11:16 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Aug 2018 08:11:16 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,439,1526367600"; d="scan'208";a="221541439" Received: from jcarsey-desk1.amr.corp.intel.com ([10.7.159.144]) by orsmga004.jf.intel.com with ESMTP; 03 Aug 2018 08:11:16 -0700 From: Jaben Carsey To: edk2-devel@lists.01.org Date: Fri, 3 Aug 2018 08:11:05 -0700 Message-Id: X-Mailer: git-send-email 2.16.2.windows.1 MIME-Version: 1.0 Subject: [PATCH v1 0/5] Refactor AutoGen - class ModuleAutoGen X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2018 15:11:17 -0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This adds a decorator based caching mechanism for general use. This then changes ModuleAutoGen to use the mechanism via decorators for some functions and properties. This allows for reduction in object size for objects as the functions are replaced by smaller data blobs. Also some small cleanups. Jaben Carsey (5): BaseTools: AutoGen refactor ModuleAutoGen caching BaseTools: AutoGen - tag a function as cachable BaseTools: AutoGen refactor to iterate less BaseTools/Source/Python/AutoGen/AutoGen.py | 1852 +++++++++----------- BaseTools/Source/Python/AutoGen/BuildEngine.py | 36 +- BaseTools/Source/Python/AutoGen/GenC.py | 2 +- BaseTools/Source/Python/AutoGen/GenMake.py | 12 +- BaseTools/Source/Python/Common/caching.py | 47 + 5 files changed, 888 insertions(+), 1061 deletions(-) create mode 100644 BaseTools/Source/Python/Common/caching.py -- 2.16.2.windows.1