summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTodd Gamblin <tgamblin@llnl.gov>2021-02-11 00:52:37 -0800
committerMassimiliano Culpo <massimiliano.culpo@gmail.com>2021-02-11 15:30:57 +0100
commit3b3314802ec33008b2aae75d3606be224c5cb052 (patch)
tree55a91f198ed81b164bb529e6c5ad97a776e3bdd0
parentc81ca37dfccba9dd2863f8ec40414e0453bcc983 (diff)
downloadspack-3b3314802ec33008b2aae75d3606be224c5cb052.tar.gz
spack-3b3314802ec33008b2aae75d3606be224c5cb052.tar.bz2
spack-3b3314802ec33008b2aae75d3606be224c5cb052.tar.xz
spack-3b3314802ec33008b2aae75d3606be224c5cb052.zip
database: don't create a date object in `query()` unless it's necessary
`query()` calls `datetime.datetime.fromtimestamp` regardless of whether a date query is being done. Guard this with an if statement to avoid the unnecessary work.
-rw-r--r--lib/spack/spack/database.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/spack/spack/database.py b/lib/spack/spack/database.py
index 0efaab9eb0..650ab48492 100644
--- a/lib/spack/spack/database.py
+++ b/lib/spack/spack/database.py
@@ -1454,11 +1454,12 @@ class Database(object):
rec.spec.name) != known:
continue
- inst_date = datetime.datetime.fromtimestamp(
- rec.installation_time
- )
- if not (start_date < inst_date < end_date):
- continue
+ if start_date or end_date:
+ inst_date = datetime.datetime.fromtimestamp(
+ rec.installation_time
+ )
+ if not (start_date < inst_date < end_date):
+ continue
if (query_spec is any or
rec.spec.satisfies(query_spec, strict=True)):