IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原].Net 代码性能 - (1)

    csharp25发表于 2017-03-26 16:04:43
    love 0
    提前准备测试环境。


    确保所有的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查询)时只查询关心的列,避免用*


沪ICP备19023445号-2号
友情链接