• IsNullOrEmpty和s == null || s.Length == 0哪个快


    在写扩展方法时,看到有人用==null这个方法,说快,上网找了些资料,最后在csdn的博客上看到了一篇文章,说实测是后两者快,于是我也试着做了一个程序运行了一下,却发现这样的结果:

    我测试了一个,发现结果相反:
    第一次:
    方法:(String.IsNullOrEmpty( s )): 用时=00:00:02.3015335 进入次数=50000000 
    方法:(s == null || s.Length == 0): 用时=00:00:02.6747835 进入次数=50000000
    第二次:
    方法:(String.IsNullOrEmpty( s )): 用时=00:00:02.3115417 进入次数=50000000 
    方法:(s == null || s.Length == 0): 用时=00:00:02.6607726 进入次数=50000000
    第三次:
    方法:(String.IsNullOrEmpty( s )): 用时=00:00:02.3205477 进入次数=50000000 
    方法:(s == null || s.Length == 0): 用时=00:00:02.6607744 进入次数=50000000
    
    第N次:
    方法:(String.IsNullOrEmpty( s )): 用时=00:00:02.2965310 进入次数=50000000 
    方法:(s == null || s.Length == 0): 用时=00:00:02.6797865 进入次数=50000000
    
    我实现的测试和楼主的刚好相反了。
    我的环境:
    win8  64位
    8G内存

    测完之后我想了一下,这只是一个简单的判断,实际情况应该不至于出现这种逆转性的反差吧?

    上面的测试我是在VS里直接运行测试的,我觉得有必要部署一下在IIS里测试一下,于是马上动手,测试结果如下:

    方法:(String.IsNullOrEmpty( s )): 用时=00:00:00.3462293 进入次数=50000000
    方法:(s == null || s.Length == 0): 用时=00:00:00.2911963 进入次数=50000000
    
    方法:(String.IsNullOrEmpty( s )): 用时=00:00:00.3442286 进入次数=50000000
    方法:(s == null || s.Length == 0): 用时=00:00:00.3172130 进入次数=50000000
    
    方法:(String.IsNullOrEmpty( s )): 用时=00:00:00.3452307 进入次数=50000000
    方法:(s == null || s.Length == 0): 用时=00:00:00.2911941 进入次数=50000000
    
    
    方法:(String.IsNullOrEmpty( s )): 用时=00:00:00.3462308 进入次数=50000000
    方法:(s == null || s.Length == 0): 用时=00:00:00.2921954 进入次数=50000000
    
    方法:(String.IsNullOrEmpty( s )): 用时=00:00:00.3452311 进入次数=50000000
    方法:(s == null || s.Length == 0): 用时=00:00:00.2931936 进入次数=50000000

    可以看到,这次的结果跟楼主的情况相符合了。

    找到的文章地址:http://blog.csdn.net/meifage2/article/details/6621658

  • 相关阅读:
    1、安装electron
    Bootstrap fileinput v3.0(ssm版)
    Bootstrap fileinput v2.0(ssm版)
    网络概念
    win10远程桌面连接提示身份验证错误,要求的函数不受支持的解决方案
    Quartz 定时任务时间设置
    牛顿迭代法快速寻找平方根
    mysql 中出现:不能打开到主机的连接,在端口3306: 连接失败
    spring boot+mybatis+generator生成domain大小写问题
    Decoder is not a @Sharable handler, so can't be added or removed multiple times
  • 原文地址:https://www.cnblogs.com/qiywtc/p/4551964.html
Copyright © 2020-2023  润新知