关于 ASP.NET 的 CompilationMode="Never" 性能问题
2014-11-20 08:25
363 查看
今天在优化系统性的时候,想到了 ASP.NET 里的 CompilationMode="Never", 因为用户控件里没有任何代码, 只有控件,把用户控件的编译模式改为 Never 后,发现性能比不设置为 Never 还差一点。于是写了一个简单的测试页面,专门测试了一下,发现 CompilationMode="Never" 性能却实要差一点:
用户控件:
页面代码:
在不设置的 CompilationMode 属性的情况下:
第一次:235.7548
第二次:0.1019
第三次:0.0824
第四次:0.035
第五次:0.0963
设置 CompilationMode=“Never" 后的情况:
第一次:23.8643
第二次:0.1284
第三次:0.138
第四次:0.1119
第五次:0.1314
虽然两都没有太大的差距,但俺就是迸着性能优化来的。
系统里由于用户控件页面文件比测试的要大的多,所以测试的差距也在大得多。
如果性能还要差,微软还搞这个选项来做什么,不知道是不是我的测试有问题呢?
EDFX 快速开发平台
一个开放源代码的快速开发平台
用户控件:
<%@ 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 快速开发平台
一个开放源代码的快速开发平台
相关文章推荐
- 关于 ASP.NET 的 CompilationMode="Never" 性能问题
- 关于asp.net 下发送邮件 未能访问"CDO.Message"对象 问题(1)
- 关于ASP.net中的存储过程"为过程或函数指定的参数太多?"的问题
- C# ASP.NET调试问题<compilation debug="false" targetFramework="4.0"/>
- 关于Struts2.1.6中配置 constant name="struts.devMode" value="true" 在tomcat启动时报错的问题 .
- 总结Asp.net中Page加载PostData的具体过程 进而解决"获取动态创建的控件的PostData数据"问题
- asp.net中回发或回调参数无效。在配置中使用 <pages enableEventValidation="... 问题解决
- asp.net ajax 错误:"sys"未定义问题 解决的方法
- 关于Struts2.1.6中配置 constant name="struts.devMode" value="true" 在tomcat启动时报错的问题
- 关于安装.NET Framework 2.0时偶然碰到的问题(提示"Error 205015. 安装程序集..../System.EnterpriseServices.dll失败,原因是出现了系统错误:拒绝访问。")
- ASP.net中"名称以无效字符开头"问题解决?(转自:http://zhfen.cnblogs.com/archive/2006/05/25/358555.html)
- [ASP.NET]解决"CS1595已在多处定义"的问题
- "ASP.NET Development Server无法开始侦听端口:XXXX"问题的解决方法
- ASP.net "hash.web" 拒绝访问问题
- ASP.NET Tricks&Tip:关于Tooltip(title)的换行问题
- >>>是否缺少 using 指令或程序集引用?-关于Asp.Net中引用类的问题。
- ATLAS升级为ASP.NET AJAX 1.0时"ScriptManager找不到"问题的解决
- 在ASP.NET AJAX中别使用mode="Legacy"
- ASP.net中"名称以无效字符开头"问题解决?
- Asp.net中与codePage="936"有关的css失效等奇怪问题的解决办法(原创)