VBScript 语法的<% = expression %>是将“expression”的值写到ASP输出流中。如果响应缓冲未启用,那么执行其中的每一条语句都会以许多小的数据包通过网络将数据写到浏览器中。这样,执行速度很慢,而且穿插执行少量的脚本和 HTML,将会引起脚本引擎和 HTML 之间的切换,从而极大地降低了性能。因此,我们可以使用下面的技巧,即使用 Response.Write 调用代替捆绑紧密的内嵌表达式。
例如,在下面的示例中,在每一行的每一字段对响应流有一次写操作,每一行在 VBScript 和 HTML 之间有多次切换:
<table> <% For Each fld in rs.Fields %> <th><% = fld.Name %></th> <% Next While Not rs.EOF %> <tr> <% For Each fld in rs.Fields %> <td><% = fld.Value %></td> <% Next </tr> <% rs.MoveNext Wend %> </table>
为了使上面的代码运行效率更高,我们可以利用下面的代码,代码的每一行对响应流有一次写操作,所有的代码都包含在一个VBScript程序内:
<% Response.Write(?<table>?) For each fld in rs.Fields Response.Write (?<th>? && fld.Name && ?</th>? && vbCrLf) Next While Not rs.EOF Response.Write (?<tr>?) For Each fld in rs.Fields %> Response.Write(?<td>? && fld.Value && ?</td>? && vbCrLf) Next Response.Write(?</tr>?) Wend Response.Write(?</table>?) %>
当禁用响应缓冲时,这一技巧的效果特别明显。最好启用响应缓冲,然后看批处理 Response.Write 是否有助于提高性能。
4.避免重新确定数组的维数
在应用数组时,我们应尽量避免使用Redim数组。就性能而言,如果计算机的物理内存大小有限,最好将数组的初始维数设置为其最不利的情况,或者将维数设置为其最佳的情况,然后再按需要重新确定维数。
在开发ASP的Web应用程序过程中,充分利用以上技巧会使你的Web程序具有较高的执行性能。
上一页 [1] [2] [3] 下一页
|