[O] Optimize parse_date even more
This commit is contained in:
+3
-4
@@ -143,7 +143,7 @@ def get_statistics(points: list[float]) -> Stats:
|
|||||||
|
|
||||||
def parse_date(iso: str) -> datetime:
|
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.
|
python's built-in dateutil.parser.isoparse() function.
|
||||||
|
|
||||||
Preconditions:
|
Preconditions:
|
||||||
@@ -152,9 +152,8 @@ def parse_date(iso: str) -> datetime:
|
|||||||
:param iso: Input date
|
:param iso: Input date
|
||||||
:return: Datetime object
|
:return: Datetime object
|
||||||
"""
|
"""
|
||||||
params = [iso[:4], iso[5:7], iso[8:10], iso[11:13], iso[14:16], iso[17:19]]
|
return datetime(int(iso[:4]), int(iso[5:7]), int(iso[8:10]),
|
||||||
params = [int(i) for i in params]
|
int(iso[11:13]), int(iso[14:16]), int(iso[17:19]))
|
||||||
return datetime(*params)
|
|
||||||
|
|
||||||
|
|
||||||
class EnhancedJSONEncoder(json.JSONEncoder):
|
class EnhancedJSONEncoder(json.JSONEncoder):
|
||||||
|
|||||||
Reference in New Issue
Block a user