- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
平均而言,我可以合理地预期perform:
比文字消息发送慢多少?我是否应该避免在循环中发送perform:
,这类似于为避免在循环中调用eval("...")
(Smalltalk中的Compiler evaluate:
)而向Perl/Python程序员发出的警告?
我主要关注Squeak,但也对其他Smalltalks感兴趣。此外,perform:with:
变体的开销会更大吗?谢谢
最佳答案
#perform:
与eval()
不同。 eval()
的问题(无论如何是性能方面的问题)在于,它必须在运行时编译要发送的代码,这是一个非常慢的操作。另一方面,Smalltalk的#perform:
与Ruby的send()
或Objective-C的performSelector:
等效(实际上,这两种语言均受Smalltalk的强烈启发)。诸如此类的语言已经根据其名称查找方法了-#perform:
仅允许您在运行时而不是写时指定名称。它不必解析任何语法或编译诸如eval()
之类的任何内容。
它将稍微慢一些(至少需要一个额外的方法调用的开销),但是它并不像eval()
。另外,带有更多参数的变体与普通perform:whatever
相比,在速度上不应表现出任何差异。我不能谈论太多有关Squeak的经验,但这是它通常的工作方式。
关于smalltalk - 执行: in Smalltalk (specifically Squeak)的性能开销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/837518/
是否有一个地方(网站)可以让我找到有关特定操作系统上的特定 Pharo 或 Squeak 版本所需的虚拟机(最小/最大)的信息? 最佳答案 我不知道确切的信息是否有记录,但我可以尝试给你一个简短的解释
我右键单击一个类类别并选择 fileOut 以将其导出到 .st 文件。问题是它从不问我保存到哪里,而是自己选择一个文件夹(似乎是包含图像文件的同一个文件夹)。 我怎样才能改变它,迫使它实际询问我将文
我正在尝试使用 Squeak Foreign Function Interface。 我能找到的所有信息似乎都不适用于新的 Squeak 5.0,因为当我尝试例如: add: a to: b
我试图更好地理解 Smalltalk 中的反射。我正在使用最新版本的 Squeak (v4.3)。我想拦截发送到我的一个类的实例的每条消息。我假设我可以覆盖方法 ProtoObject>>withAr
因此,我正在考虑将 Smalltalk/Squeak 用于几个业余爱好/学术兴趣项目,并且在尝试阅读该语言时我遇到了这个 nice article .然而,这一段让我有点傻眼: "Unfortunat
我正在编写一个小程序,它在 squeak 的运行时修改方法。 我看到在 squeak 中有一个方法叫做 getSource (在 CompiledMethod 类中定义),它返回已编译方法的源代码。
我正在为 OOP/OOD 类(class)使用“Squeak By Example”(SBE) 图像(学校修改版本)。但是,我的系统浏览器缺少 SBE 中出现的一些功能。我假设有一些配置选项可以为我找
我只是想在 Squeak (Smalltalk) 中做作业,但我不知道如何创建具有特定行数和列数的矩阵。 我知道可以使用类似 A := Matrix new:3. 的内容创建 3x3 矩阵,但我需要类
我能够以多种方式修改 Squeak 中文本的外观,但仍然找不到一种简单的方法来显式更改字体大小(作为数字)。你知道怎么做吗? 这是我的片段: text1 := Text string: 'Hello
我的意思不是类变量。我想要一个可以随处使用的变量。 我应该在哪里定义它? [吱吱声] 最佳答案 Squeak 将所有类实例和其他全局变量存储在名为“Smalltalk”的 SystemDictiona
我理解在 Smalltalk 数值计算中,如果没有圆括号,一切都是从左到右计算的。没有什么遵循乘法和除法比加法和减法更优先的规则。 像下面的代码 3 + 3 * 2 打印输出是 12 而在数学中我们得
假设我想看看“复制”是如何在 Dictionary 类中实现的。目前我使用系统浏览器并手动遍历继承层次结构(自下而上),直到找到实现给定消息的类。工作区是否有一个单线,可以在正确的位置打开系统浏览器?
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 3年前关闭。 Improve t
squeak 网页说: Squeak 提供对计算机网络环境各个级别的编程访问,从高级对象传递 我应该加载什么包来查看这个高级对象传递? 最佳答案 退房 http://wiki.squeak.org/s
bash中有uniq这样的方法用于squeak中的集合吗? 删除集合中的所有重复项并获得包含每个不同对象之一的集合。 例如: 之前 #('cat', 'cat', 'dog', 'cat') 之后:
我正在尝试做一些方法检查(在 Squeak - Smalltalk 中)。 我想请问如何判断一个方法是否为抽象方法?意思是我想写,获取class 和symbol 并检查是否有这样的符号的方法属于此类类
Squeak Smalltalk 支持弱引用集合,但似乎缺乏与 Java 的 WeakReference 类直接等效的类,该类支持对单个对象实例的弱引用。如果我定义一个具有多个实例变量的对象类,其中一
我需要从一个给定变形的中心到另一个给定变形的中心绘制一个箭头变形。 如有任何帮助,我们将不胜感激。 最佳答案 假设 a 和 b 是您的变形: arrow := (LineMorph from: a c
如何在 Smalltalk 中创建自己的事件?我基本上是在寻找一些在某些特定事件发生时可以触发的软件事件。 最佳答案 在经典的 Smalltalk(由 Squeak 支持,作为原始 XEROX Par
我需要从一个给定变形的中心到另一个给定变形的中心绘制一个箭头变形。 如有任何帮助,我们将不胜感激。 最佳答案 假设 a 和 b 是您的变形: arrow := (LineMorph from: a c
我是一名优秀的程序员,十分优秀!