【问题标题】:Print takes more than 2 seconds in python在 python 中打印需要超过 2 秒
【发布时间】:2021-02-08 09:16:45
【问题描述】:

我有一个变量 obj=model.filter(id=id),我有 打印函数 显示 obj 值。我用pref_counter()测量它需要超过2秒。

我的代码是这样的

obj=model.filter(id=id)
c = time.perf_counter()
print(obj)
d = time.perf_counter()
print("seconds", d - c) #shows 2 seconds

有趣的是,如果我打印两次,需要 4 秒。

【问题讨论】:

  • 我想这不是打印占用太多,但model.filter() 确实如此。在第一行没有对 DB 的请求,因为它使用了惰性请求。当您尝试打印时,请求本身仅适用于 3d 行。
  • 您可以将模型添加到问题中吗?打印查询集将导致它获取前几个结果并将它们包含在打印中,您是在做一些复杂的事情还是在模型的 __str__ 方法中访问相关对象?

标签: python python-3.x django list performance


【解决方案1】:

答案是:

正如 Sergey 在 cmets 中提到的那样,这与打印无关,当我调用打印请求时,它本身可以工作,并且请求需要更多时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-06
    • 2021-12-24
    • 1970-01-01
    • 2012-02-01
    • 2021-09-22
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    相关资源
    最近更新 更多