调用GetProperties()需要多少纳秒

本文关键字:多少 GetProperties 调用 | 更新日期: 2023-09-27 18:29:14

关于:.GetProperties()的Big-O

C#中的.GetProperties()方法需要多少纳秒?

编辑

测试:

在简单的开发计算机上(没有什么花哨的),项有8个属性,并且没有继承:

        stopwatch.Start();
        for (int i = 0; i < 10000; i++)
        {
            PropertyInfo[] properties = item.GetType().GetProperties();
        }
        stopwatch.Stop();

结果:

  • 总时间(纳秒):16569.8
  • 总时间(毫秒):16.5698
  • 每个.GetProperties()调用的平均时间:1.65 ns(这是一个假设,不确定结果是否被缓存)

    此外

    当使用额外的嵌套foreach循环第二次运行时,总共只花费了6毫秒。这是添加的代码(在for循环中):

                foreach (var prop in properties)
                {
                    var x = prop;
                }
    
  • 调用GetProperties()需要多少纳秒

    给定完整的应用程序代码、硬件的完整描述、注册表或系统配置、操作系统版本以及所有运行软件及其活动的列表,应该可以得出合理的猜测。

    我想说的是,这取决于。几乎所有的东西。找到它的唯一方法是计时,最好是用Stopwatch和多次迭代。确切的结果因时间而异,主要取决于您正在检查的类、可用的CPU功率和运气(也称为处理器调度)。