zoukankan      html  css  js  c++  java
  • 检查字符串首字母的性能

    今天在写一个函数的时候,需要判断某段字符串是xml还是数字,一开始用StartsWith来判断开头的字符串,后来发现这个函数需要高频率的调用,不知道StartsWith是否有性能问题。于是写了如下代码来验证:

    var content = "<double>1</double>";
    
    Stopwatch sw = Stopwatch.StartNew();
    for (int i = 0; i < 1000000; i++)
    {
        var r = content.StartsWith("<");
    }
    sw.Stop();
    Console.WriteLine("test 1 :" + sw.ElapsedMilliseconds);
    
    sw = Stopwatch.StartNew();
    for (int i = 0; i < 1000000; i++)
    {
        var r = content.StartsWith("<double>");
    }
    sw.Stop();
    Console.WriteLine("test 2 :" + sw.ElapsedMilliseconds);
    
    sw = Stopwatch.StartNew();
    for (int i = 0; i < 1000000; i++)
    {
        var r = content[0] == '<';
    }
    sw.Stop();
    Console.WriteLine("test 3 :" + sw.ElapsedMilliseconds);
    

    基本上第三种性能是最高的,不过第二种要保险一些。

    分享到: 更多
  • 相关阅读:
    C++成员函数在内存中的存储方式
    C++重写(覆盖)、重载、重定义、
    C++中的覆盖与隐藏(详细讲解)
    c++中被忽视的隐藏
    C++对象的内存分布和虚函数表
    C++ explicit关键字详解
    命名空间 extern的用法 static全局变量
    extern和include的作用
    extern用法总结
    KMP算法
  • 原文地址:https://www.cnblogs.com/redmoon/p/2112633.html
Copyright © 2011-2022 走看看