VBScript与JScript谁怕谁(1)

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
转自: chinabyte

在asp环境下, VBScriptJScript哪种语言更好一些?本文测试这两种脚本语言完成常见操作所需要的时间,分析它们各自的长处和不足,并根据测试结果得出了一些值得关注的结论。
作者:仙人掌工作室

   原文出处:http://www.asptoday.com/articles/20000920.htm

   选择方案体系需要考虑许多因素,往往关系到基于性能、容量、可维护性、职员经验、现有基础、个人爱好的成本优势分析。在典型的microsoft/iis实现中,这种考虑将继续深入扩展到asp与大量不同的com+组件协作时所担当的角色:在一个极端,注重性能远远超过编程和维护的方便程度,asp只作为整合业务逻辑和用户界面的“粘合剂”;在另一个极端,注重编程和维护的方便程度超过性能,asp本身用于实现许多业务逻辑。

   这种考虑甚至还可以继续深入一步,分析asp的两种主要脚本语言( VBScriptJScript)相对而言各有哪些优缺点。从功能上看,赞成 JScript的人可以说 JScript提供了诸如更好的错误控制、继承、位操作以及一种客户端、服务器端基本通用的脚本语言等优点;反过来,赞成 VBScript的人可以说 VBScript也有自己的特点,如极其丰富的本地化能力,大小写无关的代码,更加简单直观的语法(当然,c程序员对这一点会有异议)。极端地说,我们不仅可以达到这样一个在同一网站不同asp页面上分析两种语言各自优点的深度,而且在单个asp页面之内也是如此!

   虽然有时在同一asp页面内使用多种脚本语言能够简化编程,但它对性能不利。只需粗略地考虑一下这个问题,我们就知道运行这种asp页面需要启动并缓存两个脚本引擎,极大地增加了开销。(而且,即使我们可以忽略性能问题,混合运用两种脚本语言本身就是不安全的,这是因为引擎缓冲机制将影响执行顺序。简而言之,如果开发者不小心的话,使用二个或以上脚本引擎的asp页面可能不会顺序地执行。)

   本文所要深入研究的就是这个windows 2000 / asp3.0平台上 VBScript对比 JScript(以及 VBScriptJScript)的性能问题。具体地说,本文将回答下列问题:

是否其中一种脚本语言要比另外一种快一点?
如果是,是在哪种情形之下以及为什么?
是否存在混合使用两种脚本语言可以减少执行时间的情形?(这种情形是否具有现实意义?)
如果某种语言总是比另外一种要快,两者速度差异的大小是否足以成为选择脚本语言的考虑因素?
   为回答这些问题,我们将比较8个典型例程的执行时间,这些例程用 VBScriptJScript以及两者结合编写(两者结合是指,一种脚本语言作为asp页面的主要语言(基本语言),由它来调用另一种脚本语言编写的内嵌函数)。这8个例程是:

字符串翻转(颠倒),
在一个字符串内搜索另一个字符串,
正则表达式模式匹配,
位移操作,
简单数学计算,
复杂数学计算,
数组初始化,
ado记录集遍历。
   分析方法

   鉴于影响web应用性能的因素是如此众多,而且真正困难的可能还在于配置出一个完全受控制的(也叫做“不现实的”)测试环境,本文的目的不是给出两种语言性能比较而言其差异的精确测度,而是给出各种编程方案下性能相对优势的可靠指示。

   这就是说,我们的目标不是为了知道 JScript的正则表达式模式匹配操作要比 VBScript的快23%,我们主要关心的是:是否存在这种差异,这种差异一般有多少明显,在什么样的情况下存在这种差异,以及为何会如此。

   本文只给出汇总(平均)数据。如果要查看更具体的数据,可以在data.xls找到原始的测试结果。data.xls可以从本文后面下载。

< <script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值