gpt4 book ai didi

Smalltalk动态查找优化

转载 作者:行者123 更新时间:2023-12-02 23:28:43 24 4
gpt4 key购买 nike

在Smalltalk中,在运行时查找方法可能涉及大量步骤,因为子类的方法字典不包含其父类(super class)中的方法,并且需要指针追踪来查找该方法。一个优化是每个子类将所有父类(super class)方法存储在其方法字典中。
问题:如何做到这一点?

一个明显的缺点是空间成本,但我只是想知道如何在 Smalltalk 中做到这一点?这与为最近调用的方法创建单独的缓存不同。

最佳答案

有很多方法可以缓存查找结果。只需阅读一些基本的 VMimplementation 论文 - 从绿皮书开始。您甚至可以免费在线找到 t - http://stephane.ducasse.free.fr/FreeBooks.html并在底部附近查找“历史片段,建议”。普通解释器可以使用简单的哈希键控缓存。翻译虚拟机可以进入内联缓存、多态内联缓存、自适应缓存……根本不需要开发像 C++ vtables 这样痛苦的东西,这几乎就是你所建议的。几十年来我们一直在关注这个问题。解决了。

关于Smalltalk动态查找优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37340726/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com