BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

IE8脚本引擎JScript 5.8增强

| 作者 Abel Avram 关注 11 他的粉丝 ,译者 赵劼 关注 5 他的粉丝 发布于 2009年4月4日. 估计阅读时间: 2 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

经过多次beta版本之后,IE8终于在上月发布了,其中包含了5.8版本的JScript引擎。脚本引擎的主要增强有:JSON支持,性能优化,ECMA 3兼容性,一个profiler和一个调试器。

原生JSON支持:开发团队自诩IE8为第一个原生支持JSON的浏览器。这大大改善了序列化/反序列化的过程,并且带来了更好的安全性,使代码注入和数据损坏的可能性降低。

性能优化:开发人员以前最经常抱怨的问题便是字符串的拼接,这个问题现在已经解决了,其性能比之前的JScript版本要高出数倍。数组操作的性能也得到了优化。据Google的高级工程总监Greg Badros称,引擎的速度提高了2.5倍

我们的部分测试显示JScript性能提高了2.5倍。最关键的一点便是字符串操作。我们还监测了Gmail中常见操作的性能,例如与IE7相比,加载收件箱变为原来的24%,打开一个会话为35%,打开一个线索为25%。

ECMA 3兼容性:主要问题之一为ECMAScript 3(PDF)的完全兼容。这份公开文档收集了目前已经发现的兼容性问题,IE团队已经保证会对它们进行修复。

循环内存泄露:虽然从2007年开始便开始着手解决这个问题,但是据JScript产品线经理Shreesh Dubey所说:直到IE8 Beta 1才开始从COM结构上对它进行修复

我们对这个问题进行了深入的探索,发现它需要从COM基础设施上进行修复。我们的实现填补了COM引用计数和自动垃圾回收模型的缺口。我们扩展了IDispatchEx接口,使COM客户端能够同时支持引用计数和垃圾回收机制。

探察器和调试器:IE开发人员工具已经集成了一个JScript探察器和一个调试器。

查看英文原文:Enhancements in JScript 5.8, the IE8 Scripting Engine

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

我到今天都想不明白, com这么优秀的产品里面居然用了引用计数器这么白痴的回收机制。 by 典 刘

我到今天都想不明白, com这么优秀的产品里面居然用了引用计数器这么白痴的回收机制。

Re: 我到今天都想不明白, com这么优秀的产品里面居然用了引用计数器这么白痴的回收机制。 by Zeng Zealic

在那个内存以 KB 计量的年代,你有更好的回收机制么?

Re: 我到今天都想不明白, com这么优秀的产品里面居然用了引用计数器这么白痴的回收机制。 by 典 刘

lisp语言是上个世纪五六十年代发明的, lisp已经拥有了和今天java等语言类似的gc了。com 大约是在1993年左右发明的,何来的内存问题? 相对于现在大多数语言使用的gc技术 引用计数器方式更消耗内存。每个对象无论大小都要多一个计数器。

Re: 我到今天都想不明白, com这么优秀的产品里面居然用了引用计数器这么白痴的回收机制。 by 萧 远山

你能考虑到的,MS都考虑到了

Re: 我到今天都想不明白, com这么优秀的产品里面居然用了引用计数器这么白痴的回收机制。 by 典 刘

那怎么会犯下如此愚蠢的错误? 随便一本涉及到引用计数器的书几乎都会说道引用计数器的缺点。 除了ms com设计人员的失误外没有其他解释。ms能考虑的那么多怎么还会开发出漏洞百出的os。

Re: 我到今天都想不明白, com这么优秀的产品里面居然用了引用计数器这么白痴的回收机制。 by Zhang Vincent

那你开发一个没有漏洞的OS吧,我力挺你!
设计不能太理想化,很多是一个折中的选择而已。
COM还是很优秀的,很多framework都是模仿它的实现的

Re: 我到今天都想不明白, com这么优秀的产品里面居然用了引用计数器这么白痴的回收机制。 by 典 刘

我指出别的的错误的时候不代表我一定不犯这个错误。
折衷没有问题,但是要看折衷的是什么地方,基础的东西不能折衷,和盖楼一样,门,窗户质量差一些没问题。地基质量有问题那是致命的。事实已经证明ms的com的计数机机制给他们自己带来了无数的麻烦。com在软件开发种是恰恰是基础部分。
COM优秀的思想是他的interface部分。这个他是抄袭corba的, 连实现上都抄袭,比如IDL。 他们自己的“创新”就是这个计数器。

Re: 我到今天都想不明白, com这么优秀的产品里面居然用了引用计数器这么白痴的回收机制。 by Guo Xiaogang

你可能忘了COM还有IPC的任务。找一个更好的方案并没有那么容易。

Re: 我到今天都想不明白, com这么优秀的产品里面居然用了引用计数器这么白痴的回收机制。 by 典 刘

corba是分布式的, 可以在网络上互相调用, 更别说ipc了。windows平台上通过com的ipc的确不错,但是那是ms的支持造成的。我也用com好多年了,不是我说他不好,是太多人说他有问题,包括ms自己都很少提他。

Re: 我到今天都想不明白, com这么优秀的产品里面居然用了引用计数器这么白痴的回收机制。 by Guo Xiaogang

当IPC是主要目的,又不走全操作系统GC的路线,引用计数就是不错的方案了。在当时来看也是技术上稳妥的选择。

Re: 我到今天都想不明白, com这么优秀的产品里面居然用了引用计数器这么白痴的回收机制。 by 典 刘

根据我的开发经验, 在基础模块上的妥协最后一定得不偿失。 某种程度上 基础模块要严格到数学证明其合理性。、 应用层的东西如果为了赶工期妥协是可以的,

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

11 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT