当前位置: 首页 > news >正文

.Net 代码性能 - (1)

提前准备测试环境。


确保所有的bottleneck处理妥当。
a)使用多线程来处理CPU bound问题
b)使用异步解决I/O bound问题


如果不确定,使用stopwatch测试代码段的运行时间。


使用ants performance profiler工具对整体性能进行评价。
http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/


使用as替代is。


使用ajax和提前拉取数据提高用户体验。


web服务返回文件时记得flush。


对前端文件进行合并减少HTTP连接数。


使用LINQ时确保知道生成的SQL是什么。


并发简单的处理方式:异步,请求队列,无锁缓存。


使用using及时释放资源。


确保理解传递引用和传递值的区别,尤其对JIT动态编译时的执行过程的影响。


单例与静态的合理使用。全局唯一VS线程无关。


确保理解多线程环境下的锁,volatile的使用。


最小化WEB请求,最小化数据库连接。


IQuerable Vs IEnumerable的合理使用。继续build query vs 立刻拉数据到内存。


EF查询时使用AsNoTracking提高性能。
context.Entites.Where(x=>x.Name = "xxx").AsNoTracking().ToList();


LINQ(SQL查询)时只查询关心的列,避免用*

相关文章:

  • Linux 内核软中断(softirq)执行分析
  • 导入EXCEL到sql server
  • 从Oracle到DB2(三)
  • Android 动态支持多语言
  • cognos8配置NTLM认证
  • Android实现google消息通知
  • 贺计算机成“就业最困难专业”
  • SQL SERVER - 使用MERGE语句完成单向表同步
  • 我们和“”不在一个圈子里
  • Android - 点击EdieText之外的控件隐藏软键盘
  • ASP.Net MVC + Data Table 实现分页+排序
  • SSL 链接安全协议的enum
  • C# https客户端获取证书的工具方法
  • [重构心得] 接一个烂Project怎么办
  • CentOS 5.1 做NAT代理,实现封迅雷,BT,pplive.
  • CentOS6 编译安装 redis-3.2.3
  • CSS 提示工具(Tooltip)
  • ES6核心特性
  • IDEA 插件开发入门教程
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • javascript数组去重/查找/插入/删除
  • Java深入 - 深入理解Java集合
  • java中的hashCode
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • Terraform入门 - 1. 安装Terraform
  • Web Storage相关
  • Windows Containers 大冒险: 容器网络
  • Yii源码解读-服务定位器(Service Locator)
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 栈实现走出迷宫(C++)
  • 做一名精致的JavaScripter 01:JavaScript简介
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​低代码平台的核心价值与优势
  • # centos7下FFmpeg环境部署记录
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • ${ }的特别功能
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (Ruby)Ubuntu12.04安装Rails环境
  • (八)Spring源码解析:Spring MVC
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (编译到47%失败)to be deleted
  • (二)fiber的基本认识
  • (蓝桥杯每日一题)love
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)EXC_BREAKPOINT僵尸错误
  • .Net core 6.0 升8.0
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET 读取 JSON格式的数据
  • .net实现客户区延伸至至非客户区