刚刚发完上一篇Post,在cnblogs上面msolap就提出了Console下面结果相反的情况,继而有人用实验证实了这一结果。我立刻稍微实验了一下,发现果然如此,更进一步的发现了一些不可思议的事情。
事实上我在另一台机器上面做了一个完全相同的Console实验(一台普通的P4 1.8G 768MB Ram),在VS2k3里面的Debug模式就得到了反转的结果——ToString比强制转换要快,虽然快的并不多,大概也就几十毫秒的时间。经过相当长的时间的困惑之后(真XX的不可思议),终于发现了问题的关键所在(可能而已,不敢确定,仍需实验)。
在这里给所有愿意自己亲手做实验的朋友们一个提示:
首先不要用static的方式,请在一个实例里面进行实验,例如:
private class Tester
{
private string testString;
private const int testCount = 100000000;
public void TestConsole()
{
//
test it!
}
}
先别急,光是这样的话,还是跟原来一样的,我们接着改造:请把Tester改造成从Form继承!没错,就这么做,看看结果如何?
做完了实验请你说说你有什么想法?我是有挺多的想法的,不过现在没有时间,改天再聊。
事实上我在另一台机器上面做了一个完全相同的Console实验(一台普通的P4 1.8G 768MB Ram),在VS2k3里面的Debug模式就得到了反转的结果——ToString比强制转换要快,虽然快的并不多,大概也就几十毫秒的时间。经过相当长的时间的困惑之后(真XX的不可思议),终于发现了问题的关键所在(可能而已,不敢确定,仍需实验)。
在这里给所有愿意自己亲手做实验的朋友们一个提示:
首先不要用static的方式,请在一个实例里面进行实验,例如:
private class Tester
{
private string testString;
private const int testCount = 100000000;
public void TestConsole()
{
//
test it!
}
}先别急,光是这样的话,还是跟原来一样的,我们接着改造:请把Tester改造成从Form继承!没错,就这么做,看看结果如何?
做完了实验请你说说你有什么想法?我是有挺多的想法的,不过现在没有时间,改天再聊。


浙公网安备 33010602011771号