当前位置: 首页 > 知识库问答 >
问题:

“dis.dis”函数中的“show_caches”和“adaptive”参数有什么作用

祝嘉懿
2023-03-14

Python 3.11为< code>dis.dis函数引入了两个新参数,即< code>show_caches和< code>adaptive。

>>> import dis
>>>
>>> help(dis.dis)
Help on function dis in module dis:

dis(x=None, *, file=None, depth=None, show_caches=False, adaptive=False)
    Disassemble classes, methods, functions, and other compiled objects.

    With no argument, disassemble the last traceback.

    Compiled objects currently include generator objects, async generator
    objects, and coroutine objects, all of which store their code object
    in a special attribute.

这个参数在python 3.11中是什么意思?。我确实通过将其设置为True来检查结果,但结果与将其设置为False相同。

>>> dis.dis("a = 1", show_caches=True, adaptive=True)
  0           0 RESUME                   0

  1           2 LOAD_CONST               0 (1)
              4 STORE_NAME               0 (a)
              6 LOAD_CONST               1 (None)
              8 RETURN_VALUE
>>>
>>>
>>> dis.dis("a = 1")
  0           0 RESUME                   0

  1           2 LOAD_CONST               0 (1)
              4 STORE_NAME               0 (a)
              6 LOAD_CONST               1 (None)
              8 RETURN_VALUE

共有1个答案

拓拔安邦
2023-03-14

show_caches参数在dis文档的最顶部进行了描述,因为可以将其传递给模块的许多函数:

在3.11版中更改:一些指令伴随着一个或多个内联缓存条目,它们采用CACHE指令的形式。这些指令默认隐藏,但可以通过将show_caches=True传递给任何dis实用程序来显示。

自适应CACHE文档中进行了描述:

这个操作码不是一个实际的指令,而是用来标记额外的空间,以便解释器直接在字节码中缓存有用的数据。它被所有dis实用程序自动隐藏,但可以用< code>show_caches=True查看。

逻辑上讲,这个空间是前面指令的一部分。许多操作码希望后面有确切数量的缓存,并将指示解释器在运行时跳过它们。

填充缓存看起来像任意指令,因此在读取或修改包含加速数据的原始自适应字节码时应非常小心。

3.11版新增。

 类似资料:
  • 本文向大家介绍jQuery中的Delegate()函数有什么作用相关面试题,主要包含被问及jQuery中的Delegate()函数有什么作用时的应答技巧和注意事项,需要的朋友参考一下 delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。 使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元

  • 问题内容: 在以下Express函数中: 什么是和?它们代表什么,它们是什么意思,它们是做什么的? 谢谢! 问题答案: 是一个对象,其中包含有关引发事件的HTTP请求的信息。作为对的响应,您可以用于发送回所需的HTTP响应。 这些参数可以命名为任何东西。您可以将代码更改为以下内容: 编辑: 说您有这种方法: 该请求将是一个具有以下属性的对象(仅举几例): ,这将是触发此特定操作的时间 ,在这种情况

  • 问题内容: tf.nn.embedding_lookup(params, ids, partition_strategy=’mod’, name=None) 我不了解此功能的职责。像查找表吗?用哪种方法返回每个ID对应的参数(以ID为单位)? 例如,在模型中,如果使用,则为每个找到对应的嵌入? 问题答案: 函数检索张量的行。该行为类似于对numpy中的数组使用索引。例如 参数也可以是张量的列表,在

  • 问题内容: 我一直在我正在研究的代码库中看到类似以下的函数: 这到底在做什么?我很难在Google上找到它,因为我什至不确定这叫什么或如何在Google搜索中对其进行描述。 问题答案: 它正在解构,但包含在参数中。不含解构的等效项为:

  • 问题内容: 此选项在docker文件中有什么作用? 如果没有此参数,docker容器会启动吗?我检查了一篇文章说 启用内存支持 但我仍然不清楚。 问题答案: 是。容器将以开头。 用于分配更大部分的内存。 为了防止JVM在容器中运行时调整最大堆大小,请设置 。 除此之外,https://www.eclipse.org/openj9/docs/xxusecontainersupport/可能会有所帮助

  • 问题内容: Redis中的参数是什么?的文档假设我已经知道什么意思(我不知道)。是否设置的IP地址: 该服务器?(我认为这是正确的答案,但是我不明白为什么我们需要这样做) 被授权连接到Redis的客户端?(我尝试过,但没有用,所以可能不正确) 问题答案: 它与mysql bind-address选项的redis等效,并且以完全相同的方式工作。 它将redis实例绑定到特定的接口(以及特定的ip地址