我正在整理一个 NLP 实验,其中概念是一个系统中的代理,旨在产生由新概念组成的 Emergent 属性(here's a link 对于那些不知道 Emergence 是什么的人)。 Smalltalk(特别是 Pharo 方言)似乎是此类应用程序的理想选择,因为我可以轻松创建完全封装的概念对象,这些对象作为独立代理相互关联,并且 SmallTalk 允许我检查系统运行时的状态。
我担心的是,如果存在太多对象并且所有对象都在相互发送消息,系统是否会开始卡住。理论上,我的实现可能会产生数百万个概念对象,如果系统无法处理这么大的事情,我不想花时间在 SmallTalk 中解决这个问题。
关于 SmallTalk 图像中事件对象的数量?
在一个拥有数百万个闲聊对象的系统中?
预先感谢您的帮助!
最佳答案
关于 1:对象的数量受 VM 可用的虚拟地址空间的限制 - 在标准构建中,虚拟地址空间只有几百 MB。我当前的 Squeak 图像包含超过 350 万个 Object
的实例。处于空闲状态 - 这应该给你一个关于什么是可能的印象。
关于 2:我的 Squeak 图像在我不是最新的 Intel Core i7 2620M(当然只使用一个内核)上每秒发送大约 2600 万条消息。
但是,我怀疑您是否会对当前方法的结果感到满意。你谈到了检查系统的状态——这在 Squeak/Pharo 中真的很棒——但是你不能(手动)检查数百万个对象的状态。但话又说回来,我不知道你到底在做什么;)
关于smalltalk - Smalltalk 图像中的对象数量是否有上限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19718142/