5

在 64 位场景中,Smalltalk 似乎有两个支持级别:

  • 64位虚拟机
  • 64 位虚拟映像

我不清楚带有 64 位图像的 Smalltalk 的运行速度是否明显低于 32 位图像。如果你喜欢,请评论你的经历。是否有任何支持(64 位 VM + 映像)或仅 64 位 VM 的 Smalltalk 实现?

4

3 回答 3

3

有旧的 64 位图像和 vm 用于吱吱声。在 Esug,我推动了对 Pharo 的 64 位支持,但进展缓慢。[编辑] 而且我看到现在有一​​个用于 linux x86 的实验性 64 位 squeak vm 和映像。[/edit] 吱吱作响的 vm 是一个 pre-cog 的。Eliot Miranda 正在研究一种新的 64 位字节码集/图像格式。一旦完成,我会假设 Pharo、Squeak 和 Newspeak 将迁移到那里。

64 位图像的运行速度可能比 32 位图像慢,但这可能几乎是一个恒定因素,因此随着计算机速度的不断增长,相关性越来越低。更重要的是,能够使用大量 ram 允许开发人员进行时空权衡。也就是说,在他的时间和公羊成本之间。在西欧和美国,4GB 的工程时间不到一小时。

当使用较大的直接对象(smallints 高达 2^62/63,smallfloats?)时,64 位图像可以更快。Gemstone 的集合实现可以更好地扩展,原始实现使用单个数组作为后备存储。对于大型集合,您至少需要数组数组作为后备存储。

我已经完成了一些数据转换,我非常希望加载图像中的所有数据,然后开始分析、转换、清理和导出它。从磁盘工作会使过程减慢 100 倍。这将反馈周期从几分钟缩短到几小时或几天。反馈周期至关重要,尤其是在启动过程时,因为那时我对系统还不够了解。在此过程的后期,我可能能够对其进行分区,但这假设知识根本不存在。

于 2012-10-28T10:54:04.747 回答
1

我认为 VisualWorks 和 GemStone 都支持真正的 64 位 VM/图像

于 2012-10-27T08:58:38.833 回答
0

适用于 Linux 的最新 4.10 Squeak VM 支持 64 位图像:http ://squeakvm.org/unix/

于 2012-10-28T14:41:16.547 回答