- 1
- 0
- 约1.57万字
- 约 19页
- 2018-08-22 发布于江苏
- 举报
再探C类与结构体究竟谁快——考虑栈变量、栈分配、位整数、密封类
HYPERLINK /zyl910/archive/2011/09/20/2186622.html 再探C#类与结构体究竟谁快——考虑栈变量、栈分配、64位整数、密封类
上次我对C#类与结构体做了一次速度评测( HYPERLINK /zyl910/article/details/6788417 /zyl910/article/details/6788417)。经过一段时间思索,发现还可以进一步探讨——
第一、栈变量。上次的“硬编码”,是访问类中的静态变量的。若改为访问函数中的栈变量,性能会不会有所提高?第二、栈分配(stackalloc)。既然要测试栈变量,我们还可以顺便测试一下在栈上分配的内存块的访问性能。第三、64位整数。由于32位系统的成功,我们已经习惯了使用32位整数(int)。现在64位系统逐渐普及,我们得为此做好准备。对于指针操作时经常要用到的偏移量增减运算来说,是使用32位整数,还是使用64位整数,或写两套代码?这需要测试后才能决定。第四、密封类(sealed)。听说密封类能提高性能,我们可以测试一下。有两种测试方式,一是为原来的派生类增加sealed关键字,二是专门另外写一个密封类。我决定同时使用这两种方法,分别测试其性能。
一、测试代码
测试代码如下——
HYPERLINK /zyl910/archive/2011/09/20/2186622.
原创力文档

文档评论(0)