summaryrefslogtreecommitdiff
path: root/main.py
diff options
context:
space:
mode:
authorAnthon van der Neut <anthon@mnt.org>2018-08-20 23:58:10 +0200
committerAnthon van der Neut <anthon@mnt.org>2018-08-20 23:58:10 +0200
commitf39bf3cbbc7815cd041ce9c04723209f2aff729e (patch)
treeac50146f5ba84a911e3feae0e0966bb2018d6a9f /main.py
parent995ff1de4463e9a3d3ab8825049e139320ab4c38 (diff)
downloadruamel.yaml-f39bf3cbbc7815cd041ce9c04723209f2aff729e.tar.gz
some minor speed ups through removal of indirection overhead, re #159
Diffstat (limited to 'main.py')
-rw-r--r--main.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/main.py b/main.py
index b4e5d77..85ad0cb 100644
--- a/main.py
+++ b/main.py
@@ -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):