vs2005学习笔记(2):xslt的性能测试

看了msdn上一篇关于xml的文章,What's New in System.Xml for Visual Studio 2005 and the .NET Framework 2.0 Release url:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnxml/html/sysxmlVS05.asp,其中有一节讲到性能问题。.vs2005学习笔记(2):xslt的性能测试
按该文章的描述我做了一个性能测试,得到的结果刚好相反,是V1.1 的xslTransform最快.。
下面是该测试的代码。

1:用V2的 XslCompiledTransform Class

 1vs2005学习笔记(2):xslt的性能测试using System;
 2vs2005学习笔记(2):xslt的性能测试using System.Data;
 3vs2005学习笔记(2):xslt的性能测试using System.Configuration;
 4vs2005学习笔记(2):xslt的性能测试using System.Collections;
 5vs2005学习笔记(2):xslt的性能测试using System.Web;
 6vs2005学习笔记(2):xslt的性能测试using System.Web.Security;
 7vs2005学习笔记(2):xslt的性能测试using System.Web.UI;
 8vs2005学习笔记(2):xslt的性能测试using System.Web.UI.WebControls;
 9vs2005学习笔记(2):xslt的性能测试using System.Web.UI.WebControls.WebParts;
10vs2005学习笔记(2):xslt的性能测试using System.Web.UI.HtmlControls;
11vs2005学习笔记(2):xslt的性能测试using System.Xml.XPath;
12vs2005学习笔记(2):xslt的性能测试using System.Xml.Xsl;
13vs2005学习笔记(2):xslt的性能测试using System.IO;
14vs2005学习笔记(2):xslt的性能测试
15vs2005学习笔记(2):xslt的性能测试public partial class XslCompiledTransformPage : System.Web.UI.Page
16vs2005学习笔记(2):xslt的性能测试vs2005学习笔记(2):xslt的性能测试vs2005学习笔记(2):xslt的性能测试{
17vs2005学习笔记(2):xslt的性能测试    protected void Page_Load(object sender, EventArgs e)
18vs2005学习笔记(2):xslt的性能测试vs2005学习笔记(2):xslt的性能测试    vs2005学习笔记(2):xslt的性能测试{
19vs2005学习笔记(2):xslt的性能测试        int start, stop;
20vs2005学习笔记(2):xslt的性能测试        start = Environment.TickCount;
21vs2005学习笔记(2):xslt的性能测试
22vs2005学习笔记(2):xslt的性能测试        string dataPath = Server.MapPath("MenuData.xml");
23vs2005学习笔记(2):xslt的性能测试        string stylePath = Server.MapPath("MenuBar.xslt");
24vs2005学习笔记(2):xslt的性能测试
25vs2005学习笔记(2):xslt的性能测试        XsltArgumentList args = new XsltArgumentList();
26vs2005学习笔记(2):xslt的性能测试        args.AddParam("pmtPageName""""UseXslCompiledTransform");
27vs2005学习笔记(2):xslt的性能测试        XslCompiledTransform xslt = new XslCompiledTransform();
28vs2005学习笔记(2):xslt的性能测试        xslt.Load(stylePath);
29vs2005学习笔记(2):xslt的性能测试        MemoryStream msm = new MemoryStream();
30vs2005学习笔记(2):xslt的性能测试        xslt.Transform(new XPathDocument(dataPath), args, msm);
31vs2005学习笔记(2):xslt的性能测试        msm.Position = 0;
32vs2005学习笔记(2):xslt的性能测试        StreamReader sr = new StreamReader(msm);
33vs2005学习笔记(2):xslt的性能测试        string html = sr.ReadToEnd();
34vs2005学习笔记(2):xslt的性能测试        msm.Close();
35vs2005学习笔记(2):xslt的性能测试        sr.Close();
36vs2005学习笔记(2):xslt的性能测试     
37vs2005学习笔记(2):xslt的性能测试        Response.Write(html);
38vs2005学习笔记(2):xslt的性能测试
39vs2005学习笔记(2):xslt的性能测试        stop = Environment.TickCount;
40vs2005学习笔记(2):xslt的性能测试        int i = stop - start;
41vs2005学习笔记(2):xslt的性能测试
42vs2005学习笔记(2):xslt的性能测试        string guid = Guid.NewGuid().ToString();
43vs2005学习笔记(2):xslt的性能测试        Response.Write(guid + "" + i.ToString());
44vs2005学习笔记(2):xslt的性能测试
45vs2005学习笔记(2):xslt的性能测试        Response.End();
46vs2005学习笔记(2):xslt的性能测试    }

47vs2005学习笔记(2):xslt的性能测试
48vs2005学习笔记(2):xslt的性能测试}

49vs2005学习笔记(2):xslt的性能测试


2:用V2的XslTransform类

 1vs2005学习笔记(2):xslt的性能测试using System;
 2vs2005学习笔记(2):xslt的性能测试using System.Data;
 3vs2005学习笔记(2):xslt的性能测试using System.Configuration;
 4vs2005学习笔记(2):xslt的性能测试using System.Collections;
 5vs2005学习笔记(2):xslt的性能测试using System.Web;
 6vs2005学习笔记(2):xslt的性能测试using System.Web.Security;
 7vs2005学习笔记(2):xslt的性能测试using System.Web.UI;
 8vs2005学习笔记(2):xslt的性能测试using System.Web.UI.WebControls;
 9vs2005学习笔记(2):xslt的性能测试using System.Web.UI.WebControls.WebParts;
10vs2005学习笔记(2):xslt的性能测试using System.Web.UI.HtmlControls;
11vs2005学习笔记(2):xslt的性能测试using System.Xml.XPath;
12vs2005学习笔记(2):xslt的性能测试using System.Xml.Xsl;
13vs2005学习笔记(2):xslt的性能测试using System.IO;
14vs2005学习笔记(2):xslt的性能测试public partial class XslTransformPage : System.Web.UI.Page
15vs2005学习笔记(2):xslt的性能测试vs2005学习笔记(2):xslt的性能测试vs2005学习笔记(2):xslt的性能测试{
16vs2005学习笔记(2):xslt的性能测试    protected void Page_Load(object sender, EventArgs e)
17vs2005学习笔记(2):xslt的性能测试vs2005学习笔记(2):xslt的性能测试    vs2005学习笔记(2):xslt的性能测试{
18vs2005学习笔记(2):xslt的性能测试        int start, stop;
19vs2005学习笔记(2):xslt的性能测试        start = Environment.TickCount;
20vs2005学习笔记(2):xslt的性能测试
21vs2005学习笔记(2):xslt的性能测试        string dataPath = Server.MapPath("MenuData.xml");
22vs2005学习笔记(2):xslt的性能测试        string stylePath = Server.MapPath("MenuBar.xslt");
23vs2005学习笔记(2):xslt的性能测试
24vs2005学习笔记(2):xslt的性能测试        XsltArgumentList args = new XsltArgumentList();
25vs2005学习笔记(2):xslt的性能测试        args.AddParam("pmtPageName""""UseXslTransform");
26vs2005学习笔记(2):xslt的性能测试        XslTransform xslt = new XslTransform();
27vs2005学习笔记(2):xslt的性能测试        xslt.Load(stylePath);
28vs2005学习笔记(2):xslt的性能测试        XPathDocument xpathdocument = new XPathDocument(dataPath);
29vs2005学习笔记(2):xslt的性能测试
30vs2005学习笔记(2):xslt的性能测试        MemoryStream msm = new MemoryStream();
31vs2005学习笔记(2):xslt的性能测试        xslt.Transform(xpathdocument, args, msm, null);
32vs2005学习笔记(2):xslt的性能测试        msm.Position = 0;
33vs2005学习笔记(2):xslt的性能测试
34vs2005学习笔记(2):xslt的性能测试        StreamReader sr = new StreamReader(msm);
35vs2005学习笔记(2):xslt的性能测试
36vs2005学习笔记(2):xslt的性能测试        string html = sr.ReadToEnd();
37vs2005学习笔记(2):xslt的性能测试        msm.Close();
38vs2005学习笔记(2):xslt的性能测试        sr.Close();
39vs2005学习笔记(2):xslt的性能测试        Response.Write(html);
40vs2005学习笔记(2):xslt的性能测试
41vs2005学习笔记(2):xslt的性能测试        stop = Environment.TickCount;
42vs2005学习笔记(2):xslt的性能测试        int i = stop - start;
43vs2005学习笔记(2):xslt的性能测试        string guid = Guid.NewGuid().ToString();
44vs2005学习笔记(2):xslt的性能测试        Response.Write(guid + "" + i.ToString());
45vs2005学习笔记(2):xslt的性能测试
46vs2005学习笔记(2):xslt的性能测试        Response.End();
47vs2005学习笔记(2):xslt的性能测试    }

48vs2005学习笔记(2):xslt的性能测试}

49vs2005学习笔记(2):xslt的性能测试


3:用V1的XslTransform类

 1vs2005学习笔记(2):xslt的性能测试using System;
 2vs2005学习笔记(2):xslt的性能测试using System.Collections;
 3vs2005学习笔记(2):xslt的性能测试using System.ComponentModel;
 4vs2005学习笔记(2):xslt的性能测试using System.Data;
 5vs2005学习笔记(2):xslt的性能测试using System.Drawing;
 6vs2005学习笔记(2):xslt的性能测试using System.Web;
 7vs2005学习笔记(2):xslt的性能测试using System.Web.SessionState;
 8vs2005学习笔记(2):xslt的性能测试using System.Web.UI;
 9vs2005学习笔记(2):xslt的性能测试using System.Web.UI.WebControls;
10vs2005学习笔记(2):xslt的性能测试using System.Web.UI.HtmlControls;
11vs2005学习笔记(2):xslt的性能测试using System.Xml;
12vs2005学习笔记(2):xslt的性能测试using System.Xml.XPath;
13vs2005学习笔记(2):xslt的性能测试using System.Xml.Xsl;
14vs2005学习笔记(2):xslt的性能测试using System.IO;
15vs2005学习笔记(2):xslt的性能测试namespace WebApplication1
16vs2005学习笔记(2):xslt的性能测试vs2005学习笔记(2):xslt的性能测试vs2005学习笔记(2):xslt的性能测试{
17vs2005学习笔记(2):xslt的性能测试vs2005学习笔记(2):xslt的性能测试    /**//// <summary>
18vs2005学习笔记(2):xslt的性能测试    /// WebForm1 的摘要说明。
19vs2005学习笔记(2):xslt的性能测试    /// </summary>

20vs2005学习笔记(2):xslt的性能测试    public class WebForm1 : System.Web.UI.Page
21vs2005学习笔记(2):xslt的性能测试vs2005学习笔记(2):xslt的性能测试    vs2005学习笔记(2):xslt的性能测试{
22vs2005学习笔记(2):xslt的性能测试        private void Page_Load(object sender, System.EventArgs e)
23vs2005学习笔记(2):xslt的性能测试vs2005学习笔记(2):xslt的性能测试        vs2005学习笔记(2):xslt的性能测试{
24vs2005学习笔记(2):xslt的性能测试            int start, stop;
25vs2005学习笔记(2):xslt的性能测试            start = Environment.TickCount;
26vs2005学习笔记(2):xslt的性能测试
27vs2005学习笔记(2):xslt的性能测试            string dataPath = Server.MapPath("MenuData.xml");
28vs2005学习笔记(2):xslt的性能测试            string stylePath = Server.MapPath("MenuBar.xslt");
29vs2005学习笔记(2):xslt的性能测试            
30vs2005学习笔记(2):xslt的性能测试            XsltArgumentList args = new XsltArgumentList();
31vs2005学习笔记(2):xslt的性能测试            args.AddParam("pmtPageName""""UseXslTransform");
32vs2005学习笔记(2):xslt的性能测试            XslTransform xslt = new XslTransform();
33vs2005学习笔记(2):xslt的性能测试            xslt.Load(stylePath);
34vs2005学习笔记(2):xslt的性能测试            XPathDocument xpathdocument = new XPathDocument(dataPath);
35vs2005学习笔记(2):xslt的性能测试    
36vs2005学习笔记(2):xslt的性能测试            MemoryStream msm = new MemoryStream();
37vs2005学习笔记(2):xslt的性能测试            xslt.Transform(xpathdocument, args, msm, null);
38vs2005学习笔记(2):xslt的性能测试            msm.Position = 0;
39vs2005学习笔记(2):xslt的性能测试
40vs2005学习笔记(2):xslt的性能测试            StreamReader sr = new StreamReader(msm);
41vs2005学习笔记(2):xslt的性能测试
42vs2005学习笔记(2):xslt的性能测试            string html = sr.ReadToEnd();
43vs2005学习笔记(2):xslt的性能测试            msm.Close();
44vs2005学习笔记(2):xslt的性能测试            sr.Close();
45vs2005学习笔记(2):xslt的性能测试        
46vs2005学习笔记(2):xslt的性能测试            Response.Write(html);
47vs2005学习笔记(2):xslt的性能测试
48vs2005学习笔记(2):xslt的性能测试            stop = Environment.TickCount;
49vs2005学习笔记(2):xslt的性能测试            int i = stop - start;
50vs2005学习笔记(2):xslt的性能测试
51vs2005学习笔记(2):xslt的性能测试            string guid = Guid.NewGuid().ToString();
52vs2005学习笔记(2):xslt的性能测试            Response.Write(guid + "" + i.ToString());
53vs2005学习笔记(2):xslt的性能测试
54vs2005学习笔记(2):xslt的性能测试            Response.End();
55vs2005学习笔记(2):xslt的性能测试        }

56vs2005学习笔记(2):xslt的性能测试
57vs2005学习笔记(2):xslt的性能测试vs2005学习笔记(2):xslt的性能测试        Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
58vs2005学习笔记(2):xslt的性能测试        override protected void OnInit(EventArgs e)
59vs2005学习笔记(2):xslt的性能测试vs2005学习笔记(2):xslt的性能测试        vs2005学习笔记(2):xslt的性能测试{
60vs2005学习笔记(2):xslt的性能测试            //
61vs2005学习笔记(2):xslt的性能测试            // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
62vs2005学习笔记(2):xslt的性能测试            //
63vs2005学习笔记(2):xslt的性能测试            InitializeComponent();
64vs2005学习笔记(2):xslt的性能测试            base.OnInit(e);
65vs2005学习笔记(2):xslt的性能测试        }

66vs2005学习笔记(2):xslt的性能测试        
67vs2005学习笔记(2):xslt的性能测试vs2005学习笔记(2):xslt的性能测试        /**//// <summary>
68vs2005学习笔记(2):xslt的性能测试        /// 设计器支持所需的方法 - 不要使用代码编辑器修改
69vs2005学习笔记(2):xslt的性能测试        /// 此方法的内容。
70vs2005学习笔记(2):xslt的性能测试        /// </summary>

71vs2005学习笔记(2):xslt的性能测试        private void InitializeComponent()
72vs2005学习笔记(2):xslt的性能测试vs2005学习笔记(2):xslt的性能测试        vs2005学习笔记(2):xslt的性能测试{    
73vs2005学习笔记(2):xslt的性能测试            this.Load += new System.EventHandler(this.Page_Load);
74vs2005学习笔记(2):xslt的性能测试
75vs2005学习笔记(2):xslt的性能测试        }

76vs2005学习笔记(2):xslt的性能测试        #endregion

77vs2005学习笔记(2):xslt的性能测试    }

78vs2005学习笔记(2):xslt的性能测试}

79vs2005学习笔记(2):xslt的性能测试


下面是用ACT的测试结果

vs2005学习笔记(2):xslt的性能测试


我晕,真不知ms搞什么鬼还是我文挡看错了。
欢迎同行们指正。

转载于:https://www.cnblogs.com/shengsoft/archive/2005/04/24/144204.html