您的位置:首页网页设计ASP文摘 → VBScript与JScript谁怕谁5

VBScript与JScript谁怕谁5

时间:2004/11/7 3:07:00来源:本站整理作者:蓝点我要评论(0)

转自: ChinaByte





   第一组测试的结果如下表所示。表中的数值是在不同方案下1000次ASP页面调用的平均执行时间,以秒计(每次执行ASP页面时测试例程执行一次)。 方案  

语言***  字符串翻转*  字符串查找**  正则表达式模式匹配*  位移操作*  简单数学计算*  复杂数学计算**  

VB - VB  2.245  2.038  4.452  2.200  2.173  2.151  

JS - JS  2.690  2.214  2.635  2.166  2.288  2.313  

VB - JS  3.522  -  3.430  3.035  -  3.178  

JS - VB  3.185  -  5.368  3.103  -  3.004  

*运行96次,其中:24次是VBScript测试工具页面、IIS默认脚本语言VBScript;24次是JScript测试工具页面、IIS默认脚本语言VBScript;24次是VBScript测试工具页面、IIS默认脚本语言JScript;还有24次是JScript测试工具页面、IIS默认脚本语言JScript。为了减小次序带来的影响,第一、三、四、六测试例程的方案所运行的次序每次都经过改变。上表所显示的时间是96次运行的平均时间。所有细节数据都可以在下载包的data.xls文件内找到。



**使用VBScript测试工具页面运行24次,IIS脚本语言设置成VBScript(没有运行其他的测试工具页面和默认脚本语言的组合,因为在最初的运行中它们没有显示出任何次序或时间差异上的影响)。



***VB代表VBScript,JS代表JScript。两种语言中的前一种是页面的基本语言,第二种是内嵌代码所用的语言。内嵌代码不用于不需要使用它的场合。







   大多数测试结果的含义都非常明显,但应注意两个可能令人惊奇的结果。我们知道,JScript通过String对象的方法处理正则表达式,具有更好的灵活性,而VBScript需要实例化RegExp对象的开销。但令人惊奇的是,完全用VBScript编写的代码比以VBScript为基本语言、用内嵌JScript函数完成模式匹配操作的代码要慢。显然,实例化VBScript的RegExp对象需要非常可观的时间开销。



   第二个令人惊奇的地方是,虽然事实证明JScript的位操作总是要比VBScirpt的快,但在这些测试中两者的时间差异非常小。



   第二组测试的结果如下表所示。表中的数值表示不同方案下单个ASP页面的平均执行时间,以秒计(每执行一次ASP页面,测试例程运行多次)。 方案  

语言**  字符串翻转(1)  字符串搜索(3)  正则表达式模式匹配(2)  位移操作(3)  简单数学计算(1)  复杂数学计算(3)  数组初始化(1)  记录集遍历(4)  

VB - VB  0.120  0.346  2.250  0.200  0.287  0.328  2.182  0.524  

JS - JS  2.589  0.998  0.138  0.036  0.426  0.499  9.120  0.641  

VB - JS  3.066  -  0.221  0.890  -  1.310  -  -  

JS - VB  0.472  -  2.363  0.769  -  0.671  -  -  

*每种情形用VBScript测试工具页面运行24次,IIS的默认脚本语言是VBScript(没有运行其他的测试工具页面和IIS默认脚本语言组合,因为在最初的运行中它们没有显示出任何次序或时间差异上的影响)。为了减小次序带来的影响,第一、三、四、六测试例程的方案所运行的次序每次都经过改变。上表所显示的是24次运行的平均时间,所有细节数据都可以在下载包的data.xls内找到。



**VB代表VBScript,JS代表JScript。两种语言中的前一种是页面的基本语言,第二种是内嵌代码所用的语言。内嵌代码不用于不需要使用它的场合。



100,000 次迭代

1,000次迭代

10,000次迭代

830个记录的外部循环,14个字段的内部循环(总共11,620次迭代)







   这些测试结果更清楚地证实了两种语言的区别所在。从数学计算的结果可以看出,VBScript在这方面要比JScript快——除了位移操作之外(JScript本身支持位移操作,而VBScript不支持)。



   两种语言最显著的区别在于字符串翻转、字符串搜索和数组初始化,所有这些测试项目中VBScript都占优势。



   字符串翻转操作是VBScript本身所支持的,在该项测试中两者差别尤其明显。在这个测试中,两者的差异之大使得采用内嵌VBScript StrReverse()函数也要比用JScript编写该函数快。



   在那些数据改动非常频繁使得手工构造数据失去现实意义的应用中,数据库记录集遍历是一种相当常见操作,因此,上述测试结果中VBScript和JScript在记录集遍历上的差异可能会给那些认为JScript优于VBScript的人一些警示。然而,这种执行时间上的差异也可以用如下事实来辩解,即我们为记录集中的每个记录分别实例化了一个Enumerator对象(总共达到了830次!)。



   从第一组测试的结果中已经可以看出,正则表达式模式匹配是JScript绝对优于VBScript的一个地方,所以这一组的测试结果并不令人奇怪。这里的测试结果证实了上一组的测试结果,但差异程度有所放大。








相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 没有查询到任何记录。 微软放弃.net名称的背后用不着妄自菲薄 对ASP和ASP程序员的一些话技术分析:.NET的优势与劣势代码大战:哪种语言会赢得开发的霸权?

人气排行 微软提供的功能强大的ASP-HTML转换工具.它将用ASP技术实现在WEB网页上浏览目录及文件从VB 6.0到VB.NET的转换2从VB 6.0到VB.NET的转换5IIS 5.1和IIS 6.0一些显著的重要区别从VB 6.0到VB.NET的转换1将.Net应用移植到Linux上来的Mono工程Serv-U :快速构建功能强大的FTP 服务器