首页 > 其他 > 详细

C#字符串排序效率

时间:2014-02-01 13:29:10      阅读:576      评论:0      收藏:0      [点我收藏+]

前几天看到个node.js和C#比较性能的文章,在那篇文章中C#的性能居然输了,按理说这是不可能的,除非有什么特殊的情况拖慢了性能。
查看其异步的写法,最终发现没有什么问题,起码不是主要问题。
后来用VS自带的性能分析器查看了下,发现绝大多数的性能耗费在排序上面。


注:此图已经不是最开始分析的那张图了

bubuko.com,布布扣

 

string的默认实现是用StringComparison.CurrentCulture进行比较的,所以自行改为StringComparison.Ordinal后速度大约快了两倍,瞬间超越了nodejs,

在需要ICompare接口的参数时,可以用StringComparer.Ordinal快速创建,这里的CompareString也推荐用自带的StringComparer.Ordinal.Compare代替

在此之前还搜索了一下:
http://www.codeproject.com/Articles/415767/Fast-List-String-Sort-in-Csharp
这个连接中附带的 Sedgewick.Sort还能再快一些,最终几乎快nodejs几倍,当然此时也不在足够公平的范畴内了。

C#字符串排序效率

原文:http://www.cnblogs.com/gxrsprite/p/3536885.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!