在Steve Yegge 关于原型模式的文章的结尾,他说,
Brendan Eich 为 Properties Pattern 提出了惊人的聪明的性能优化,他在一月份告诉我。我已准备好发表这篇文章,但我告诉他我会等到他在博客上发布关于他的优化的文章。每隔一段时间,他就会给我打电话,告诉我“现在任何一天”。
布伦丹,现在是十月,该死的!
那篇笔记是大约五年前写的,但我似乎找不到任何关于 Eich 优化的信息。他或其他人是否曾发表过耶格提到的改进?
在Steve Yegge 关于原型模式的文章的结尾,他说,
Brendan Eich 为 Properties Pattern 提出了惊人的聪明的性能优化,他在一月份告诉我。我已准备好发表这篇文章,但我告诉他我会等到他在博客上发布关于他的优化的文章。每隔一段时间,他就会给我打电话,告诉我“现在任何一天”。
布伦丹,现在是十月,该死的!
那篇笔记是大约五年前写的,但我似乎找不到任何关于 Eich 优化的信息。他或其他人是否曾发表过耶格提到的改进?
我从另一个答案中提到的Brendan 的推文开始进行挖掘,最后在 '08 的这篇博客文章中结束。总结一下:
许多基准测试表明 SpiderMonkey 比 Tamarin 快得多。这主要归因于 SpiderMonkey 访问对象属性的方式。SpiderMonkey 实现了形状的想法。形状是一个唯一标识符,它详细说明了对象的结构,并允许快速查找给定的属性。通过一些位操作,给定一个对象的形状和当前程序位置,我们可以找到一个属性的地址。
查看博客文章以获取更多详细信息以及对当时实际代码的引用。