为什么检查 Console.OutputEncoding 需要这么长时间?

道格拉斯·盖斯凯尔

我正在我的应用程序上运行一些性能分析,并发现检查控制台输出编码所需的时间几乎是我的应用程序运行完整性能迭代的两倍。

我正在通过以下方式检查:

Console.OutputEncoding.EncodingName != Encoding.UTF8.EncodingName

这个检查需要大约 80 个滴答(8,000 ns),我的整个应用程序(生成控制台表)在没有这个的情况下只需要大约 50 个滴答(5,000 ns)运行,并且经历了数百个条件。

为什么检查输出编码需要这么多时间?我可以加快速度吗?

凯尔

如果我不得不冒险猜测,那是因为您正在比较EncodingName,这会导致潜在的昂贵查找(以及随后的字符串比较)。您是否有理由不直接比较编码?

!Console.OutputEncoding.Equals( Encoding.UTF8 )

在本地测试它似乎要快得多。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么 IndexOrDocValuesQuery 需要这么长时间?

为什么排序需要这么长时间?

为什么mkntfs需要这么长时间?

为什么我的程序需要这么长时间才能运行?

为什么打开多个文件需要这么长时间?

为什么sencha touch需要这么长时间才能加载?

为什么查找中间节点的查询需要这么长时间?

为什么在Ruby中迭代需要这么长时间?

为什么DOM点击事件需要这么长时间?

为什么删除Kafka主题需要这么长时间?

为什么C ++编译需要这么长时间?

为什么logstash需要这么长时间才能启动/加载?

为什么目录搜索需要这么长时间?

为什么从Visual Studio部署Azure需要这么长时间?

为什么从后台线程更新UI需要这么长时间?

为什么添加AUTO_INCREMENT需要这么长时间?

为什么Azure部署需要这么长时间?

为什么“查看”功能需要这么长时间才能运行?

为什么嵌套的for循环需要这么长时间才能计算?

为什么删除约束需要这么长时间?

为什么构建Android Studio需要这么长时间?

为什么创建表需要这么长时间?

Postgres:为什么选择count(*)需要这么长时间

为什么更新包需要这么长时间?

为什么创建大量的SKNode需要这么长时间

为什么Cython的点子安装需要这么长时间?

为什么popViewControllerAnimated需要这么长时间才能运行?

为什么 xamarin pcl 构建需要这么长时间

为什么此Advantage Database查询需要这么长时间?