关闭

Performance C#

622人阅读 评论(0) 收藏 举报
C# PERFORMANCE 性能

//z 2012-3-28 15:04:03 PM IS2120@CSDN

1. 最重要的是定位出 hot spot
尽量优化哪些占用了大量时间的方法等,否则费了力气,效果不彰。

2. class 一般不要有空的 dtor
结构无法定义dtor,只有类可以
每一个类只可以有一个dtor
dtor不能继承或是重载
不可直接调用;只能由系统(clr?)自动调用
不可有modifiers或是任何的参数
一个dtor会隐式的调用object的base class的Finalize
即会迭代调用继承链上Finalize方法
空的dtor不该被使用。(会造成效率的低下)
由gc控制何时调用dtor。
可以通过调用Collect来强制gc collection,但是这应该避免
当你的应用程序援引了unmanaged resources,诸如windows,files和网络连接时,你应该使用dtor以释放这些资源。
如果你的程序使用一个昂贵的外部资源,那么我们推荐你在轮到gc调用之前先回收这样的资源。通过使用继承IDisposable接口,并实现Dispose方法。

3. string 和 stringbuilder
如果需要大量的进行 string contact ,建立使用 stringbuilder 。
3.1 可以使用 string.Fromat
3.2 更为复杂使用stringbuilder
这个的说法很多,很少一致的,还是具体情况具体分析哈

4. boxing 和 unboxing
装箱和拆箱都是极其昂贵的操作
4.1 NewLateBinding.LateGet 
进行诸如这样的操作的时候
bool Equal(object a,object b)
{
    return math.abs(a-b) < delta ;
}
double a,b;
调用 
Equal(a,b);
在vb中编译器会使用这个来进行一些额外的操作(动态获取变量的实际类型?)

5. 优化的一般原则
设立目标;检查代码以确定需要优化的地方。
首先是更好的设计以及正确的程序;只有当不符合目标时,才进行优化。经过优化的代码往往难以阅读和维护。
如果一定要进行优化,从最慢的那一部分开始:定位需要进行提高的地方。
//z 2012-3-28 15:04:03 PM IS2120@CSDN

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Google优化工具Timeline的使用(Chrome 57已经改为performance(性能模板))

前期学习知识搭一下页面但是现在越来越注重网页性能的优化。 都推荐TimeLine所以开始使用performance进行性能的调试
  • qq_26878975
  • qq_26878975
  • 2017-07-07 10:53
  • 3336

dotTrace界面详解

dotTrace界面详解
  • weixin_38208401
  • weixin_38208401
  • 2017-07-21 15:36
  • 203

浅谈浏览器对象——Performance API

为了得到脚本运行的精确耗时,需要一个高精度时间戳,传统的做法是使用Date对象的getTime方法,其不足之处在于: 1) getTime方法及Date对象的其他方法只能精确到毫秒级别,无法得到更小的...
  • zhouziyu2011
  • zhouziyu2011
  • 2017-04-25 09:49
  • 1080

Performance — 前端性能监控利器

https://www.cnblogs.com/bldxh/p/6857324.html 最近在写一个监控脚本,终于有机会接触到了这一块,整理后写下了本文。 Performance是一个做前端...
  • z69183787
  • z69183787
  • 2017-11-12 19:08
  • 127

(一)performance初识

测试
  • ouyanggengcheng
  • ouyanggengcheng
  • 2017-03-16 11:07
  • 368

利用window.performance.timing检测页面加载速度

如何在浏览器中查看当前页面请求各个指标数据 在控制台中输入window.performance.timing(html5的属性);即可            各字段的含义: ·...
  • q_12341234
  • q_12341234
  • 2015-01-06 16:46
  • 1736

【性能】关于web性能的思考与分享[12]——ChromeDevTool高级调式

前端开发之高级调式春困秋乏,想正经写篇blog都难,可有良方奉上?首先我们对本篇进行概括,将分以下几点讲解:1、断电以及捕捉事件绑定2、Audits和Chrome性能插件3、Timeline掌控帧渲染...
  • ImagineCode
  • ImagineCode
  • 2016-03-12 09:50
  • 1471

High Performance Python 笔记(Python是门不错的语言,全栈程序员就用它好了!)

High Performance Python 目录 1 Understanding Performant Python2 Profiling3 Lists and Tuples4 Di...
  • cteng
  • cteng
  • 2014-10-07 22:48
  • 2091

苹果列出了最新App被拒十大原因,你中枪了吗?

开发者在开发应用程序之前,熟悉苹果审核应用的技术、内容以及设计准则是非常重要的,可以大大降低应用审核被拒的可能性。 最近,苹果通过一个专门的页面给出了截止2016年10月10日应用提交审核被拒的十大...
  • whjay520
  • whjay520
  • 2016-11-22 14:15
  • 795

MYSQL常用调优策略

1、硬件层相关优化修改服务器BIOS设置 选择Performance Per Watt Optimized(DAPC)模式,发挥CPU最大性能。 Memory Frequency(内存频率)选择M...
  • dudefu011
  • dudefu011
  • 2016-04-08 15:08
  • 266
    公 告

    仅用于个人备忘

    IS2120.CSDN#Google.MAIL

    物皆有价 风雨兼程

    Be Well.@Eat better. Get active. Unwind.

    BG57IV3.Hello World!

    K.T5.M.M

    $

    $ € ₤ ₤ € $

    ฿