今天为了测试SQLite性能,用VC6写了一个单dialog的程序,就一个线程,做十万次的select,在XP系统上跑要8秒左右,跑在win2003系统上只有4秒左右,怎么会有这么大的差异?有人说是XP时间片比较小导致的,可有此说?请教了!谢谢~~

解决方案 »

  1.   

    操作系统的策略,2003对CPU资源的分配是后台服务优先,XP是前台应用优先
      

  2.   


    我拿公司同事同样的硬件的笔记本测试,他的win2003测试比我的XP上跑快一倍左右。
    我又在我的XP虚拟机上的win2003测试结果也差不多,都比XP上跑快一倍左右。XP上的杀毒软件防火墙都关闭了。也没什么实时扫描的程序,不相关的进程全都关掉了。我再去找别人的XP来试一下,排除个体差异原因。 回来通报结果。谢谢~~
      

  3.   

    同一个select? 有可能是内存的换页机制不同
      

  4.   

    如果光从OS来比的话,Win2k3系统的策略是以性能领先,而WinXP则是以节省资源为优先。比如说,现在两个人都要阅读某一份文件,性能领先,可能就是这一份文件做出几个副本,每人一份并行查阅;而对于节省资源优先,则可能就是几个人一人看一会,其实对于用户层面来看,他们也是“同时”的。
      

  5.   


    这个方法好!但是我试了一下,性能提高一点点,不是太明显。XP系统实在难找,找了一圈才找了一台和我硬件近似的Dell笔记本,用的是和我一样的XP版本,可是比我的XP快一倍多一点。
    看来还是我的本本装的系统有问题。难怪我跑极品飞车9比较卡,特效全关只能到15-30帧。
    实在不行只能重装XP系统再试一下了。
      

  6.   

    前几天把系统重装成win2003以后,测试结果比原XP系统快了一倍不止,结合以前测试,分析原因只能如此解释了:原XP系统用了2年了,装了太多东西,可能有某个关系性能的地方被影响到了。所以这个题目的结论也还是一个老话题:window系统用的越久越慢!冒办法了。