首页>互联网>语言脚本>JavaScript>正文

VBScript与JScript谁怕谁(5)

日 期:2006-10-17     来 源:    阅 读:
  
转自: 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的一个地方,所以这一组的测试结果并不令人奇怪。这里的测试结果证实了上一组的测试结果,但差异程度有所放大。




上一篇:VBScript与JScript谁怕谁(2)   下一篇:使用JScript.NET创建asp.net页面(一)
收藏本文到:
digg this! 添加到del.icio.us bbmao网络收藏夹 添加到365key 我顶 添加到bolaa 推荐到奇客发现 添加到新浪vivi 添加到google书签 添加到yahoo+
查看全部JavaScript内容  
  • VBScript与JScript谁怕谁(2)  2006-10-17 00:00:00
       转自: ChinaByte 测试是在一个桌面系统上进行,配置为:400MHz Celeron处理器,128 MB RAM,操作系统是Windows 2000 Server (5.00.2195),Web服务器是运行ASP 3.0 (asp....[阅读全文]
  • 使用JScript.NET创建asp.net页面(一)  2006-10-17 00:00:00
       大家一定习惯于使用vb.net和C#来创建asp.net页面,但是不知大家知不知道我们还可以使用Jscript.net编写asp.net. 这可能是自微软1996年推出基于IE3.0的Jscript1.0以来在功能...[阅读全文]
  • VBScript与JScript谁怕谁(3)  2006-10-17 00:00:00
       转自: ChinaByte 我们选择了八个不同的测试例程(所有测试用到的代码已经在本文后面的下载ZIP文件中提供)。如果语言本身不具备某个方法或函数,则编写一个专用的方法。 1...[阅读全文]
  • 使用JScript.NET创建asp.net页面(五)  2006-10-17 00:00:00
       Jscript.net可以用JScript 或任意NET 框架语言(如 C #,VB7.0) 通过增加extends主题词在类声明以后来继承和扩展现有类。这能力允许Jscript.net非常容易地利用 NET 平台的丰...[阅读全文]
  • VBScript与JScript谁怕谁(6)  2006-10-17 00:00:00
       转自: ChinaByte 显然,我们可以从测试结果中得到这样一个结论:在一个注重性能的场合,混合运用多种脚本语言一般是没有意义的。如果要考虑两次模式匹配测试的结果差异,也...[阅读全文]
  • 使用JScript.NET创建asp.net页面(六)  2006-10-17 00:00:00
       如何在asp+中使用Jscript.net这才是我们关键的问题。我们将通过一个例子来说明这个问题。 访问sqlserver数据库 第一个aps+例子是使用Jscript.net和.net的数据访问类来访问s...[阅读全文]
  • VBScript与JScript谁怕谁(4)  2006-10-17 00:00:00
       转自: ChinaByte 上面的第一、三、四、六几种算法有一个共同特点:或者是其中一种语言独具某个功能,或者在正则表达式匹配和距离计算中,两种语言的差别非常大,足以成为一...[阅读全文]
  • 使用JScript.NET创建asp.net页面(三)  2006-10-17 00:00:00
       下面给出一个完成的函数,仔细的体会一下。 function getConditions(strCity : String) : String { var now : Date = new Date(); switch (strCity.toUpperCase()) { case ...[阅读全文]
  • VBScript与JScript谁怕谁(1)  2006-10-17 00:00:00
       转自: ChinaByte 在ASP环境下,VBScript和JScript哪种语言更好一些?本文测试这两种脚本语言完成常见操作所需要的时间,分析它们各自的长处和不足,并根据测试结果得出了一...[阅读全文]
  • 使用JScript.NET创建asp.net页面(四)  2006-10-17 00:00:00
       在Jscript中定义类通过类声明, 包含方法和对象和var 声明。对于类的派生通过下面两个程序的对比,你讲清楚地明白。 JScript 5.5 Code // Simple object with no methods fu...[阅读全文]
  • Cookie对象的创建和使用  2006-10-15 00:00:00
       ...[阅读全文]
  • 使用JScript.NET创建asp.net页面(二)  2006-10-17 00:00:00
       为了实现Jscript.net的推断变量类型的功能,你需要遵守以下几条规则! 一.永远声明你的局部变量。这看起来像是显而易见的,但是这是非常重要的,Jscript.net只能推断你的...[阅读全文]
  • 让图片连续滚动!  2006-10-15 00:00:00
       IFRAME name=mq marginWidth=0 marginHeight=0 src="http://www.115000.com.cn/liuy/Downloads/pic.html" frameBorder=no width="400" scrolling=no height=112/IFRAME IFR...[阅读全文]
  • 使用JScript.NET创建asp.net页面(七)  2006-10-17 00:00:00
       例子2 %@ WebService Language=JScript class=Weather% import System import System.Web.Services class Weather { WebMethodAttribute function getConditions(strCity :...[阅读全文]
  • 关于Window.open的参数小结  2006-10-15 00:00:00
       看一个例子: [javascipt:]window.open("Webpage.asp?%=var%",Derek,"height=100,width=100,status=yes,toolbar=yes, menubar=no,location=no"); 此语句打开一个新窗口,页...[阅读全文]
  • 创建具有JScript的HTML的XMLHTTP  2006-10-17 00:00:00
       griefforyou [原作] 亲爱的 GUI 博士: 我有一个关于 XML 的问题。我通过 XMLHTTP 发布一个 ASP 页面,将数据作为 HTML 发送回来,并在 div、表格单元格或任何元素上执行 o...[阅读全文]
  • 完整使用Microsoft.XMLHTTP用JS+VBS实现异步读取  2006-10-15 00:00:00
       !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd " html head meta http-equiv="Content-Type" content="text/ht...[阅读全文]
  • JScript 方法 - compile 方法  2006-10-17 00:00:00
       把正则表达式编译为内部格式,从而执行得更快。 rgExp.compile(pattern, [flags]) 参数 rgexp 必选项。正则表达式对象的一个例子。可以是变量名或文字。 pattern 必选项。...[阅读全文]
  • ajax中如何实现innerHTML中javascript的运行  2006-08-25 00:00:00
       在参考前人的一些做法后,采用了一些变通方式,和添加一些额外标记,来较好的实现innerHTML中javascript的运行,从而使的页面各个模块间更 好的交互,和数据共享. 先看下面的例...[阅读全文]
  • JScript 方法 - charAt 方法  2006-10-17 00:00:00
       返回指定索引位置处的字符。 strObj.charAt(index) 参数 strObj 必选项。任意 String 对象或文字。 index 必选项。想得到的字符的基于零的索引。有效值是 0 与字符串长度减...[阅读全文]
 用户名: 新注册) 密码: 匿名发表 评论(0条)
 评论内容:(不能超过250字,不支持HTML或代码,只能发表纯文字,请自觉遵守互联网相关政策法规。)
[an error occurred while processing this directive]
合作伙伴: 电脑综合 8vv8娱乐榜

关于扑虎 | 扑虎新闻 | 联系扑虎 | 广告服务 | 招贤纳士

Copyright @ 2006-2007 poohu.com. All Right Reserved 陕ICP备06010975号