Darin 的问候

我叫 Darin Adler,在 Apple Computer 的工作是管理 Safari 和 WebKit 工程团队。我也负责 Safari 和 WebKit 的编程工作。

即将推出

以下是我们正在计划的一些事项

  • 我在 Apple 的团队正在招聘。我们正在寻找 Safari 应用和 WebKit 框架的开发工程师,以及负责各种其他任务的工程师,例如构建和维护工具、进行软件更新集成以及处理错误。如果您感兴趣,请给我发简历。
  • 我们即将完成贡献者协议。一旦完成,我们将能够为 WebKit CVS 仓库授予一些人提交权限
  • Dave Hyatt 正在开发新的表单控件实现。这将为我们提供可以用 CSS 样式化的表单控件,并显著提高包含大量表单控件的页面的性能。
  • Maciej Stachowiak 将把我们的 HashSet 和 HashMap 类模板移至 JavaScriptCore,以便它们可以在 WebCore 和 JavaScriptCore 中使用。Maciej 修改后,指针键模板将共享更多代码,届时我们将在更多地方使用这些模板。
  • Dave Harrison 刚完成添加制表符支持,这在 Mail 应用中编辑带有制表符的电子邮件时尤为重要。这也修复了网页中制表符的处理方式,例如在 <pre> 标签中这非常重要。
  • 我对 JavaScript 进行了几项性能改进,在 iBench JavaScript 基准测试中带来了大约 12% 的提升。
  • Maciej 正在进行 JavaScript 引擎的更改,最终将实现我们称之为树代码的东西:一种解释 JavaScript 语法树的新方法,它将更快,更像一个字节码解释器。到目前为止,Maciej 的一个早期步骤使 iBench JavaScript 提高了 10%,所以我们可能会在此过程中看到其他的速度提升。
  • 我们将要求使用 GCC 4.0
  • 我们正在努力修复 DOM 测试套件和 Mozilla JavaScript 测试套件中失败的测试。
  • 我们将改进对网页中可编辑内容的(`contenteditable`)支持,因为我们将使用我们的 HTML 编辑功能来实现 <input type=text><textarea>

这不是全部,但我想这几点你可能想知道。

哈希表

我不知道其他人怎么样,但我很喜欢 Maciej 关于哈希的系列文章。我们最早在 WebKit 中使用哈希的经验之一是在 2002 年 11 月将 JavaScript 属性切换到哈希表。我们在 iBench JavaScript 基准测试中获得了 7% 的速度提升。最近的一个例子是今年 5 月,仅仅通过改进哈希函数,我们就在日常的“页面加载测试”基准测试中获得了 1% 的速度提升。正是这些经验促使 Maciej 致力于开发一个我们可以轻松复用的高质量哈希表实现。

GCC 4.0

我知道你们中的许多人已经在使用 GCC 4.0 进行编译,因为它在 Tiger 上是默认编译器,而且我们的项目也设置为使用默认编译器。Safari 团队尚未切换;我们花时间确保我们用 GCC 4.0 构建的框架和应用程序与以前一样快。我们已经基本完成了这项工作,很快我们的代码库将不再支持使用 GCC 3.3 进行编译。