Ruby中的运行时假设
Ruby看起来是一种非常酷的语言。在过去的两三天里我已经开始学习了。Ruby吸引我的一点是它的简单性。非常干净的代码是可能的。然而,Ruby的内部实现并不对外公开。我了解到Ruby是根据不同的口味用不同的语言编写的 有一件事让我感到困扰(因为我来自Java背景),那就是内存的使用和速度,因为它的抽象性更强。我只是想听听Ruby用户对此有什么看法。关于内存使用和速度,我的意思是,在Java中,我将决定何时使用ArrayList,何时使用LinkedList,何时使用Hash。我完全了解它们的实现,即使我不知道,我也可以窥探一下它们。但是在Ruby中,它并不简单(我知道它应该是一个高效的实现)。但是,我如何确保我没有过度使用东西呢。例如,当我简单地定义一个数组时会发生什么。它将是一组典型的连续内存位置还是完全不同的实现 另外,用不同语言编写的Ruby遵循所实现的类似算法,或者因语言而异Ruby中的运行时假设,ruby,language-design,abstraction,Ruby,Language Design,Abstraction,Ruby看起来是一种非常酷的语言。在过去的两三天里我已经开始学习了。Ruby吸引我的一点是它的简单性。非常干净的代码是可能的。然而,Ruby的内部实现并不对外公开。我了解到Ruby是根据不同的口味用不同的语言编写的 有一件事让我感到困扰(因为我来自Java背景),那就是内存的使用和速度,因为它的抽象性更强。我只是想听听Ruby用户对此有什么看法。关于内存使用和速度,我的意思是,在Java中,我将决定何时使用ArrayList,何时使用LinkedList,何时使用Hash。我完全了解它们的实现,
只是好奇 在部署时,Ruby的内存使用无疑是一个难点。例如,一个开发良好的Rails应用程序(在术语的两种含义中:1)使用最佳实践开发,2)使用广泛的Rails应用程序将“乐意”在其部署的系统上占用超过256mb的空间。但是你可以从中得到非常有用的语法糖。这就是“善”对“恶”的区别 我不太关心Ruby如何存储
数组
对象,就像您的例子一样。即使是一个经验丰富的Ruby开发人员,我也不在乎它是如何存储的,因为我假设语言创建者知道如何优化语言,并且做得很好。但是,每次发布都会更快
在应用程序中,有两个地方需要注意内存使用情况:
- 读取大文件
- 创建大量对象
您可能也对它感兴趣。我已经删除了语言不可知标记,因为这似乎是Ruby特有的。首先,您所说的“Ruby语言”是什么意思?众所周知,Ruby是其他高级语言的抽象版本。说到Ruby语言,我指的是Ruby风格。我知道只有一种Ruby语言。谢谢你纠正了它。