提升 .NET 程序性能的 一些 原则
1. 尽量少的抛出异常
抛出异常是严重影响性能的。
(a) 对于ASP.NET,
会抛出 ThreadAbort 的异常, 而且,该用法会在 Client 和 Server间返回两次,应尽量采用Client 端的方式或 Server.Transfer方式来代替。
2. 对于函数,要尽量写的短小精悍,而不要认为一个函数的代码写的越长,就越节省资源。
3. 尽量采用值类型
public foo(double arg){ this.y = arg; }
public double y;
}
public class bar{
public bar(double arg){ this.y = arg; }
public double y;
}
class Class1{
static void Main(string[] args){
System.Console.WriteLine("starting struct loop");
for(int i = 0; i < 50000000; i++)
{foo test = new foo(3.14);}
System.Console.WriteLine("struct loop complete.
starting object loop");
for(int i = 0; i < 50000000; i++)
{bar test2 = new bar(3.14); }
System.Console.WriteLine("All done");
}
}
}
4. 使用 AddRange 代替 循环的 Add
5. 尽量减少 NameSpace 的引用,而是采用 System.Web.UI.xxxx 的方式
转载于:https://www.cnblogs.com/sjcatsoft/archive/2005/03/29/128084.html
提升 .NET 程序性能的 一些 原则相关推荐
- 哪些模块可用于python性能分析_提升Python程序性能的方法有哪些?看完你就知道啦!...
掌握一些技巧,可尽量提高Python程序性能,也可以避免不必要的资源浪费.今天就为大家带来七个可以提升python程序性能的好习惯,赶快来学习吧:. 1.使用局部变量 尽量使用局部变量代替全局变量:便 ...
- 【Python】提升Python程序性能的好习惯2
掌握一些技巧,可尽量提高Python程序性能,也可以避免不必要的资源浪费. 追求性能极限是一个有趣的游戏, 而过度优化就会变成嘲弄了.虽然Python授予你与C接口无缝集成的能力, 你必须问自己你花数 ...
- 如何快速提升 Go 程序性能?
快速提升 Go 程序性能的实用技巧,你值得了解一下. 作者 | Stephen Whitworth 译者 | 弯月,责编 | 屠敏 出品 | CSDN(ID:CSDNnews) 我对软件性能的话题十分 ...
- go bson转换成json_如何快速提升 Go 程序性能?
快速提升 Go 程序性能的实用技巧,你值得了解一下. 作者 | Stephen Whitworth 译者 | 弯月,责编 | 屠敏 出品 | CSDN(ID:CSDNnews) 我对软件性能的话题十分 ...
- 【Python】提升Python程序性能的好习惯
掌握一些技巧,可尽量提高Python程序性能,也可以避免不必要的资源浪费. 追求性能极限是一个有趣的游戏, 而过度优化就会变成嘲弄了.虽然Python授予你与C接口无缝集成的能力, 你必须问自己你花数 ...
- 微信小程序开发04 性能优化:借助微信开发者工具提升小程序性能
你好,我是周俊鹏. 前几节课我们分别从架构层(双线程模型).链路层(授权模型).和应用层(自定义组件)三个角度学习了小程序的技术要点.它们能帮你完成一个微信小程序的基本业务逻辑和交互逻辑. 逻辑的第一 ...
- 「技术架构」10个提升应用程序性能的倚天剑和屠龙刀
提高web应用程序性能比以往任何时候都更加重要.在线经济活动的份额正在增长;超过5%的发达国家的经济现在是在互联网上的(参见参考资料中的互联网统计数据).而我们这个始终在线.高度连接的现代世界意味着用 ...
- 如何为python程序设置使用次数_提升Python程序性能的7个习惯
Python不以性能见长,但掌握一些技巧,也可尽量提高程序性能,避免不必要的资源浪费. 1.使用局部变量 尽量使用局部变量代替全局变量:便于维护,提高性能并节省内存. 使用局部变量替换模块名字空间中的 ...
- 提升Python程序性能的7个习惯
掌握一些技巧,可尽量提高Python程序性能,也可以避免不必要的资源浪费. 培训和发展 1.使用局部变量 尽量使用局部变量代替全局变量:便于维护,提高性能并节省内存. 使用局部变量替换模块名字空间中的 ...
最新文章
- etcd 笔记(04)— etcd 网关与 gRPC 网关
- 【HTML】DAY 4
- 高德地图api接口文档_在 R 语言里面调用高德地图接口:地理编码与路径规划
- 网页设计html最简单水印方法,前端canvas水印快速制作(附完整代码)
- Linux ffmpeg的安装编译过程
- 定时任务crontab
- MySQL半同步的配置
- 95-240-048-原理-State-StateBackend
- Hashtable几种常用的遍历方法
- java服务器代码_简单java服务器
- Matlab括号使用详解
- Android中如何实现无缝切码流
- slam 图像处理 matlab,MATLAB R2020a图像处理和计算机视觉新进展
- 最新软件设计师考试大纲
- OpenGL第八版--初识OpenG
- UWB超高精度定位系统架构图
- GlassFish安装
- 什么是抽象方法 java_java抽象类和抽象方法
- matlab非平稳信号小波和FFT去噪
- Ubuntu的recovery模式进入及退出
热门文章
- 【蓝桥杯Java_C组·从零开始卷】第二节、ifswitch(超级详细,适合入门强化学习,理论与实战双保险(2021年12月30日上午9点直播·视频发布B站)
- mysql如何获取当前时间
- 字体rem通用基本设置
- 原生js cookie本地存储
- JavaWeb第一讲 Servlet的工作原理及生命周期
- Web.sitemap网站导航
- Vue2.x双向数据绑定
- 创建一个dynamics 365 CRM online plugin (四) - PreValidation
- UWP 播放媒体控件
- CentOS7——卡在在启动界面