[O] Optimize parse_date even more

This commit is contained in:
Hykilpikonna
2021-11-24 17:24:16 -05:00
parent d7e3aee0e6
commit 5f07979140
+3 -4
View File
@@ -143,7 +143,7 @@ def get_statistics(points: list[float]) -> Stats:
def parse_date(iso: str) -> datetime:
"""
Parse date faster. Running 1,000,000 trials, this parse_date function is 3.32 times faster than
Parse date faster. Running 1,000,000 trials, this parse_date function is 4.03 times faster than
python's built-in dateutil.parser.isoparse() function.
Preconditions:
@@ -152,9 +152,8 @@ def parse_date(iso: str) -> datetime:
:param iso: Input date
:return: Datetime object
"""
params = [iso[:4], iso[5:7], iso[8:10], iso[11:13], iso[14:16], iso[17:19]]
params = [int(i) for i in params]
return datetime(*params)
return datetime(int(iso[:4]), int(iso[5:7]), int(iso[8:10]),
int(iso[11:13]), int(iso[14:16]), int(iso[17:19]))
class EnhancedJSONEncoder(json.JSONEncoder):