-
Notifications
You must be signed in to change notification settings - Fork 783
very bad perf on _datetime.datetime.__format__ #1201
Copy link
Copy link
Closed
Labels
enhancementImprovement to an already existing featureImprovement to an already existing feature
Description
current text format use YYYY-MM-DD HH:mm:ss.SSS and handled by _datetime.datetime.__format__, which is very slow comparing to stdlib version %Y-%m-%d %H:%M:%S.%f%z.
For example, I use os.devnull as sink and try these 2 format, YYYY-MM-DD HH:mm:ss.SSS will use 44s but %Y-%m-%d %H:%M:%S.%f%z use only 20s. (also it's 10s for stdlib logging)
import os
import timeit
from loguru import logger as logger_new
from loguru_old import logger as logger_old
logger_new.info("hello world")
# exit(0)
logger_new.remove(0)
logger_new.add(os.devnull)
logger_old.remove(0)
logger_old.add(os.devnull)
def loguru_new_case():
logger_new.info("hello {}", "b")
def loguru_old_case():
logger_old.info("hello {}", "b")
print(timeit.timeit(loguru_new_case))
print(timeit.timeit(loguru_old_case))Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementImprovement to an already existing featureImprovement to an already existing feature