diff options
author | Anthon van der Neut <anthon@mnt.org> | 2018-08-20 23:58:10 +0200 |
---|---|---|
committer | Anthon van der Neut <anthon@mnt.org> | 2018-08-20 23:58:10 +0200 |
commit | f39bf3cbbc7815cd041ce9c04723209f2aff729e (patch) | |
tree | ac50146f5ba84a911e3feae0e0966bb2018d6a9f /main.py | |
parent | 995ff1de4463e9a3d3ab8825049e139320ab4c38 (diff) | |
download | ruamel.yaml-f39bf3cbbc7815cd041ce9c04723209f2aff729e.tar.gz |
some minor speed ups through removal of indirection overhead, re #159
Diffstat (limited to 'main.py')
-rw-r--r-- | main.py | 18 |
1 files changed, 10 insertions, 8 deletions
@@ -162,18 +162,20 @@ class YAML(object): @property def reader(self): # type: () -> Any - attr = '_' + sys._getframe().f_code.co_name - if not hasattr(self, attr): - setattr(self, attr, self.Reader(None, loader=self)) - return getattr(self, attr) + try: + return self._reader + except AttributeError: + self._reader = self.Reader(None, loader=self) + return self._reader @property def scanner(self): # type: () -> Any - attr = '_' + sys._getframe().f_code.co_name - if not hasattr(self, attr): - setattr(self, attr, self.Scanner(loader=self)) - return getattr(self, attr) + try: + return self._scanner + except: + self._scanner = self.Scanner(loader=self) + return self._scanner @property def parser(self): |