上周参加完微软的CTEC会后,紧接着又参加了TechEd 2004,回来后,看到很多人已经写了不少感想,我就不再多说什么了。最遗憾的一件事就是在展波的课堂上答对问题,可因为展波没有带奖品,所以只得到一张免费饮料券(还没舍得用)。
言归正传,TechEd 2004最后一天,卢斌的“透视公共语言运行库”课堂上的一个例子让我记忆犹新,写下来,让大家一起分享(不知算不算侵权?)
这个例子主要是关于开发高效托管代码的例子,程序比较了String与StringBuilder的运行效率。代码如下(凭记忆写的,或许会有所出入):









































































编译完成后,在命令行下分别通过输入:
Test Hello,China 10000
Test Hello,China 10000 /o
测试String与StringBuilder的效率。你会发现两者效率差异在几千倍以上(我自己的测试结果,相信随着n的增加,这个差异还会增加)。在卢斌的演示中,StringTest会占用近10M的内存并在程序运行期间触发18次垃圾回收。而StringBuilderTest占用几十K内存,没有垃圾回收。
至于为什么会这样,大家可以自己考虑一下。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步