有多少爱可以重来 --Visual Studio 2010 的9项改进建议
摘要:距Visual Studio 2010发布一年多了,这一年多的时间不知“耀”他们过得如何,是已经分开还是依然在一起?是否还记得当年发布会上,女孩突然出现时给他的惊喜?不过还好,相信大家都有自己的成长与进步,这就是Coding Life,我们都在得失中老去。。。
阅读全文
posted @
2011-06-28 09:37
Aicken(李鸣)
阅读(5979)
推荐(6) 编辑
DotNet并行计算使用误区(三)
摘要:这篇文章主要是从实用的角度讲解并行计算需要了解的一些基础知识以及需要注意的地方,包括并行循环的方法、如何终止、线程安全、常用类型等几方面。
阅读全文
posted @
2011-06-27 09:17
Aicken(李鸣)
阅读(2040)
推荐(1) 编辑
ToList<>()所带来的性能影响
摘要:前几天优化师弟写的代码,有一个地方给我留下很深刻的印象,就是我发现他总是将PLINQ的结果ToList(),然后再返回给主程序,对于这一点我十分不解,于是去问他是什么原因,得到的答案很幽默:因为习惯。
最终优化方案很简单,去掉了ToList和Count,改用其他方法代替,程序从几天的运行时间一下缩短到几个小时。
阅读全文
posted @
2011-05-10 09:32
Aicken(李鸣)
阅读(14532)
推荐(11) 编辑
DotNet并行计算的使用误区(二)
摘要:从网上很多已经发布的并行计算的例子来讲,有很多存在一定的误区甚至是误导,这导致了一线编程人员产生一些错误的思路,它们多是通过示例讲述并行计算的性能优越性,似乎程序人员可以不费吹灰之力就能将程序性能提升N倍,如果这些想法没有经过比较就应用于实际,那么就会造成一定的损失
阅读全文
posted @
2011-04-21 08:56
Aicken(李鸣)
阅读(2266)
推荐(4) 编辑
DotNet并行计算的使用误区(一)
摘要:从网上很多已经发布的并行计算的例子来讲,有很多存在一定的误区甚至是误导,这导致了一线编程人员产生一些错误的思路,它们多是通过示例讲述并行计算的性能优越性,似乎程序人员可以不费吹灰之力就能将程序性能提升N倍,如果这些想法没有经过比较就应用于实际,那么就会造成一定的损失。这篇文章就来聊聊关于合理使用并行计算的问题,供大家参考。
阅读全文
posted @
2011-04-20 13:59
Aicken(李鸣)
阅读(3770)
推荐(8) 编辑
The DotNet Garbage Collection
摘要:今天开始发第一篇英文原创博客《The DotNet Garbage Collection》
阅读全文
posted @
2011-04-12 15:04
Aicken(李鸣)
阅读(1472)
推荐(0) 编辑
漫谈.Net关键字系列之一Sealed与Final
摘要:Sealed与Final修饰符其实并不是一个语言平台的产物,他们有着各自所属的语言环境,但这两个关键字都是.Net平台中不可或缺的,那么二者用法几何,随本文一探究竟。 一.Sealed sealed 修饰符可以应用于类、实例方法和属性。用于类时,该类被称为密封类,密封类不能被继承;用于方法时,该方法被称为密封方法,密封方法会重写基类中的方法;sealed修饰符应用于方法或属性时,必须始终与ov...
阅读全文
posted @
2010-08-31 10:18
Aicken(李鸣)
阅读(16868)
推荐(3) 编辑
GC算法与代龄
摘要:第一节. GC的算法与工作方式 1.算法 垃圾收集器的本质,就是跟踪所有被引用到的对象,整理对象不再被引用的对象,回收相应的内存。 这听起来类似于一种叫做“引用计数(Reference Counting)”的算法,然而这种算法需要遍历所有对象,并维护它们的引用情况,所以效率较低些,并且在出现“环引用”时很容易造成内存泄露。所以.Net中采...
阅读全文
posted @
2010-04-23 13:58
Aicken(李鸣)
阅读(4643)
推荐(0) 编辑
GC关键方法解析
摘要:第二节.GC关键方法解析 1.Dispose()方法 Dispose可用于释放所有资源,包括托管的和非托管的,需要自己实现。 大多数的非托管资源都要求手动释放,我们应当为释放非托管资源公开一个方法,实现释放非托管资源的方法有很多种,实现IDispose接口的Dispose方法是最好的,这可以给使用你类库的程序员以明确的说明,让他们知道怎样释放你的资源;而且C#中用到的using语句快,...
阅读全文
posted @
2010-04-23 13:34
Aicken(李鸣)
阅读(3366)
推荐(0) 编辑
Try-Catch真的会影响程序性能吗
摘要:很多帖子都分析过Try-Catch的机制,以及其对性能的影响。 但是并没有证据证明,Try-Catch过于损耗了系统的性能,尤其是在托管环境下。记得园子里有位网友使用StopWatch分析过Try-Catch在不同情况下,与无Try-Catch的代码相比,代码运行的时间指标,结果并没有很大差异。 下面我来结合IL分析一下Try-Catch吧。 ● 机制分析 .Net 中基本的异常捕获与处理...
阅读全文
posted @
2010-04-22 10:28
Aicken(李鸣)
阅读(23356)
推荐(14) 编辑
.Net Discovery系列文章阅读索引--带你探索未知的.Net世界
摘要: .Net Discovery系列文章是讲述.Net平台机制的文章,目前已有12篇,分别讲述了.Net垃圾收集、实时编译、字符串等部件的机制,现在推出1周年之际总结文章阅读索引,希望对大家有所帮助。
阅读全文
posted @
2010-04-19 10:46
Aicken(李鸣)
阅读(2595)
推荐(4) 编辑
.Net Discovery系列之十二-深入理解平台机制与性能影响(下)
摘要:上一篇文章中Aicken为大家介绍了.Net平台的垃圾回收机制、即时编译机制与其对性能的影响,这一篇中将继续为大家介绍.Net平台的异常捕获机制与字符串驻留机制。
阅读全文
posted @
2010-04-14 11:32
Aicken(李鸣)
阅读(3404)
推荐(3) 编辑
.Net Discovery系列之十一-深入理解平台机制与性能影响 (中)
摘要:转眼间《.Net Discovery》系列文章已经推出1年了,本文为该系列的第10-13篇文章,在本文中将对以前所讲的.Net平台知识做一个小小的总结与机制分析,引出并重点介绍这些机制对程序性能的影响与改进建议。
本文将分为四部分,分别讲述了:垃圾回收机制、即时编译机制、异常处理机制、字符串驻驻留机制的原理与性能改进建议。
阅读全文
posted @
2010-04-07 11:46
Aicken(李鸣)
阅读(3067)
推荐(5) 编辑
.Net Discovery系列之十-深入理解平台机制与性能影响(上)
摘要:转眼间《.Net Discovery》系列文章已经推出1年了,本文为该系列的第10-13篇文章,在本文中将对以前所讲的.Net平台知识做一个小小的总结与机制分析,引出并重点介绍这些机制对程序性能的影响与改进建议。
本文将分为四部分,分别讲述了:垃圾回收机制、即时编译机制、异常处理机制、字符串驻驻留机制的原理与性能改进建议
阅读全文
posted @
2010-04-06 10:35
Aicken(李鸣)
阅读(3749)
推荐(5) 编辑
.Net Discovery 系列之九--string从入门到精通(勘误版下)
摘要: (本文为修正版,对前文进行了一些勘误)string是一种很特殊的数据类型,它既是基元类型又是引用类型,在编译以及运行时,.Net都对它做了一些优化工作,正式这些优化工作有时会迷惑编程人员,使string看起来难以琢磨,这篇文章分上下两章,共四节,来讲讲关于string的陌生一面。
阅读全文
posted @
2010-01-13 09:43
Aicken(李鸣)
阅读(2734)
推荐(1) 编辑
.Net Discovery 系列之八--string从入门到精通(勘误版上)
摘要: (本文为修正版,对前文进行了一些勘误)string是一种很特殊的数据类型,它既是基元类型又是引用类型,在编译以及运行时,.Net都对它做了一些优化工作,正式这些优化工作有时会迷惑编程人员,使string看起来难以琢磨,这篇文章分上下两章,共四节,来讲讲关于string的陌生一面。
阅读全文
posted @
2010-01-12 15:16
Aicken(李鸣)
阅读(4746)
推荐(4) 编辑
.Net Discovery 系列之七--深入理解.Net垃圾收集机制(拾贝篇) 发布在新年第一秒
摘要:新年伊始,博客园第一篇文章,Net Discovery 系列之七--深入理解.Net垃圾收集机制(拾贝篇),送给各位园友新年礼物,各位互勉,新年同乐,平安幸福!
本文分三节为大家深入介绍.Net GC的完整收集(Full GC)机制 、GC工作模式以及.Net 4.0中GC的特性方法。
阅读全文
posted @
2010-01-01 00:01
Aicken(李鸣)
阅读(5030)
推荐(5) 编辑
.Net Discovery 系列之六--深入浅出.Net实时编译机制(下)
摘要:.Net Discover系列文章之JIT部分将分为上下两节,从运行原理、机制等方面,结合WinDbg为大家详细的讲解JIT方面的知识。关键字:JIT MSIL 元数据 方法表 托管模块 本地映像
阅读全文
posted @
2009-12-27 17:35
Aicken(李鸣)
阅读(6561)
推荐(2) 编辑
.Net Discovery 系列之五--深入浅出.Net实时编译机制(上)
摘要:.Net Discover系列文章之JIT部分将分为上下两节,从运行原理、机制等方面,结合WinDbg为大家详细的讲解JIT方面的知识。关键字:JIT MSIL 元数据 方法表 托管模块 本地映像
阅读全文
posted @
2009-12-22 15:52
Aicken(李鸣)
阅读(5868)
推荐(1) 编辑
.Net Discovery 系列之四--深入理解.Net垃圾收集机制(下)
摘要:上一节给大家介绍了 .Net GC的运行机制,下面来讲下与GC相关的重要方法。主要包括终止队列(Finalization Queue)与可达队列(Freachable Queue)、复生(Resurrection)、弱引用(WeakReference)、策略引擎、Dispose()、GC.Collect()、析构函数(Finalize()等知识点。
阅读全文
posted @
2009-03-04 09:31
Aicken(李鸣)
阅读(6552)
推荐(1) 编辑