快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

VBScript与JScript谁怕谁(4)

转自: ChinaByte

上面的第一、三、四、六几种算法有一个共同特点:或者是其中一种语言独具某个功能,或者在正则表达式匹配和距离计算中,两种语言的差别异常大,足以成为一个很有意义的混合语言编程测试项目。这就为我们测试这些算法增加了两种方案:以VBScript作为基本语言调用内嵌的JScript函数;以JScript为基本语言调用内嵌的VBScript函数。测试代码举例如下(测试方案:字符串翻转,以JScript为基本语言,VBScript内嵌):
< %@Language=JScript% >
< SCRIPT language="VBScript" runat="Server" >
Function StrRevVB(strParm)
StrReverse(strParm)
End Function
< /SCRIPT >
< %
StrRevVB("String Reversal")
% >




   所有其他例程都只包含语言本身提供的功能,这些例程只用纯VBScript和纯JScript版的代码测试。换句话说,对于任何情形的混合语言编程合理性测试来说,这些例程的价值都不大。

   第一组测试运行前六个例程,对于每一次运行,测试工具页面都要进行1000次对包含测试例程的ASP页面的调用(Server.Execute)。换句话说,假如某次运行调用了一个两种脚本语言都编写的页面1000次,则调用ASP引擎和各个脚本引擎的开销都达到1000次。虽然这种方式导致脚本引擎的开销影响测试结果,但我们获得的测试结果却更能反映出实际应用场合的效果。也就是说,虽然我们可以在单个页面之内完成1000次字符串翻转之类的操作,但更接近实际的是将这些代码和其他代码放入同一页面,然后让这个页面执行数千次。

   第二组测试运行全部八个例程,每次运行期间测试工具页面只执行测试页面1次,但测试页面本身包含循环。字符串翻转和简朴数学计算都在它们各自的ASP页面内运行10,000次。模式匹配操作执行1,000次。字符串查找、距离计算以及两个位移操作(左移和右移)操作执行10,000次。在数组初始化测试中,程序声明一个100,000个元素的数组,然后通过For循环对它进行初始化并将计数器的值赋予各个元素。在记录集遍历测试中,程序通过While外循环遍历记录集(记录集包含830个记录),通过For Each ... Next内循环遍历单个记录的各个字段(每个记录有14个字段)。

   第二组测试提供的是这样一些方案,它们更加侧重于被测试例程本身的执行开销,从而更清晰地告诉我们两种脚本语言在执行时间方面的优缺点。



返回类别: 教程
上一教程: NT 下虚拟域名的实现
下一教程: 从ASP迁移至ASP+ --HTML表格转变为ASP+列表

您可以阅读与"VBScript与JScript谁怕谁(4)"相关的教程:
· VBScript与JScript谁怕谁(2)
· VBScript与JScript谁怕谁(3)
· VBScript与JScript谁怕谁(1)
· VBScript与JScript谁怕谁(6)
· VBScript与JScript谁怕谁(5)
    微笑服务 优质保证 索取样品