From 3b3314802ec33008b2aae75d3606be224c5cb052 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Thu, 11 Feb 2021 00:52:37 -0800 Subject: [PATCH] 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. --- lib/spack/spack/database.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/spack/spack/database.py b/lib/spack/spack/database.py index 0efaab9eb03..650ab484922 100644 --- a/lib/spack/spack/database.py +++ b/lib/spack/spack/database.py @@ -1454,11 +1454,12 @@ def _query( 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)):