From 1eaf85b89f31876f686103b45ee5a9a9d5c84095 Mon Sep 17 00:00:00 2001 From: Cristian Ciupitu Date: Thu, 27 Mar 2014 19:56:33 +0200 Subject: [PATCH] Micro-optimization: replace s.find(x)!=-1 with x in s timeit shows a speedup of ~3x on Python 2.7.5 x86_64. It also makes the code a bit shorter. --- lib/ansible/module_utils/known_hosts.py | 2 +- lib/ansible/utils/__init__.py | 4 ++-- library/cloud/gc_storage | 2 +- library/cloud/s3 | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/ansible/module_utils/known_hosts.py b/lib/ansible/module_utils/known_hosts.py index e6912d91846..68ef2828319 100644 --- a/lib/ansible/module_utils/known_hosts.py +++ b/lib/ansible/module_utils/known_hosts.py @@ -98,7 +98,7 @@ def not_in_host_file(self, host): host_fh.close() for line in data.split("\n"): - if line is None or line.find(" ") == -1: + if line is None or " " not in line: continue tokens = line.split() if tokens[0].find(HASHED_KEY_MAGIC) == 0: diff --git a/lib/ansible/utils/__init__.py b/lib/ansible/utils/__init__.py index 972089d6a3c..2b86034bde9 100644 --- a/lib/ansible/utils/__init__.py +++ b/lib/ansible/utils/__init__.py @@ -314,7 +314,7 @@ def parse_json(raw_data): raise for t in tokens: - if t.find("=") == -1: + if "=" not in t: raise errors.AnsibleError("failed to parse: %s" % orig_data) (key,value) = t.split("=", 1) if key == 'changed' or 'failed': @@ -1035,7 +1035,7 @@ def listify_lookup_plugin_terms(terms, basedir, inject): # not sure why the "/" is in above code :) try: new_terms = template.template(basedir, "{{ %s }}" % terms, inject) - if isinstance(new_terms, basestring) and new_terms.find("{{") != -1: + if isinstance(new_terms, basestring) and "{{" in new_terms: pass else: terms = new_terms diff --git a/library/cloud/gc_storage b/library/cloud/gc_storage index cbf72aa8e92..4bbf9eabae7 100644 --- a/library/cloud/gc_storage +++ b/library/cloud/gc_storage @@ -154,7 +154,7 @@ def keysum(module, gs, bucket, obj): key_check = bucket.get_key(obj) if key_check: md5_remote = key_check.etag[1:-1] - etag_multipart = md5_remote.find('-')!=-1 #Check for multipart, etag is not md5 + etag_multipart = '-' in md5_remote # Check for multipart, etag is not md5 if etag_multipart is True: module.fail_json(msg="Files uploaded with multipart of gs are not supported with checksum, unable to compute checksum.") return md5_remote diff --git a/library/cloud/s3 b/library/cloud/s3 index 6d64a3f43fe..aaa2e0f4ffb 100644 --- a/library/cloud/s3 +++ b/library/cloud/s3 @@ -147,7 +147,7 @@ def keysum(module, s3, bucket, obj): key_check = bucket.get_key(obj) if key_check: md5_remote = key_check.etag[1:-1] - etag_multipart = md5_remote.find('-')!=-1 #Check for multipart, etag is not md5 + etag_multipart = '-' in md5_remote # Check for multipart, etag is not md5 if etag_multipart is True: module.fail_json(msg="Files uploaded with multipart of s3 are not supported with checksum, unable to compute checksum.") return md5_remote