• 关于 ASP.NET 的 CompilationMode="Never" 性能问题


      今天在优化系统性的时候,想到了 ASP.NET 里的 CompilationMode="Never", 因为用户控件里没有任何代码, 只有控件,把用户控件的编译模式改为 Never 后,发现性能比不设置为 Never 还差一点。于是写了一个简单的测试页面,专门测试了一下,发现 CompilationMode="Never" 性能却实要差一点:

    用户控件:

    <%@ Control Language="C#" ClassName="WebUserControl" %>
    <table>
        <tr>
            <td>
    
                <asp:TextBox runat="server" ID="TextBox1" /><br />
                <asp:TextBox runat="server" ID="TextBox2" /><br />
                <asp:TextBox runat="server" ID="TextBox3" /><br />
                <asp:TextBox runat="server" ID="TextBox4" /><br />
                <asp:TextBox runat="server" ID="TextBox5" /><br />
                <asp:TextBox runat="server" ID="TextBox6" /><br />
                <asp:TextBox runat="server" ID="TextBox7" /><br />
                <asp:TextBox runat="server" ID="TextBox8" /><br />
                <asp:TextBox runat="server" ID="TextBox9" /><br />
                <asp:TextBox runat="server" ID="TextBox10" /><br />
                <asp:TextBox runat="server" ID="TextBox11" /><br />
                <asp:TextBox runat="server" ID="TextBox12" /><br />
                <asp:TextBox runat="server" ID="TextBox13" /><br />
                <asp:TextBox runat="server" ID="TextBox14" /><br />
                <asp:TextBox runat="server" ID="TextBox15" /><br />
                <asp:TextBox runat="server" ID="TextBox16" /><br />
                <asp:TextBox runat="server" ID="TextBox17" /><br />
                <asp:TextBox runat="server" ID="TextBox18" /><br />
                <asp:TextBox runat="server" ID="TextBox19" /><br />
                <asp:TextBox runat="server" ID="TextBox20" />
    
            </td>
        </tr>
    </table>

    页面代码:

    protected void Page_Load(object sender, EventArgs e)
    {
    	Stopwatch sw = new Stopwatch();
    	sw.Start();
    	var ctrl = this.LoadControl("WebUserControl.ascx");
    	sw.Stop();
    
    	this.Label1.Text = sw.Elapsed.TotalMilliseconds.ToString();
    }
    

    在不设置的 CompilationMode 属性的情况下:

    第一次:235.7548

    第二次:0.1019

    第三次:0.0824

    第四次:0.035

    第五次:0.0963

    设置 CompilationMode=“Never" 后的情况:

    第一次:23.8643

    第二次:0.1284

    第三次:0.138

    第四次:0.1119

    第五次:0.1314

    虽然两都没有太大的差距,但俺就是迸着性能优化来的。

    系统里由于用户控件页面文件比测试的要大的多,所以测试的差距也在大得多。

    如果性能还要差,微软还搞这个选项来做什么,不知道是不是我的测试有问题呢?

    EDFX 快速开发平台
    一个开放源代码的快速开发平台
  • 相关阅读:
    The Levy Flight
    Congestion and Flow Control at the Bundle Layer
    Fragmentation & Reassembly
    six classes of services in delay tolerant networks
    javascript的with表示什么?
    js定时器和计时器
    document.getElementById与getElementByName的区别
    MySQL查询时区分大小写的方法,查询字母出现中文的解决方法
    JavaScript的格式
    地址栏中传递中文参数
  • 原文地址:https://www.cnblogs.com/kuku/p/CompilationMode_Never_performance.html
Copyright © 2020-2023  润新知