Go 将在下个版本引入快速排序算法 pdqsort
根据 Go 的 commit 记录,其计划在下一个版本使用知名快速排序算法——pdqsort。从提交信息来看,这个 commit 的作者是来自字节跳动的员工,开发者在 commit 中对 pdqsort 算法进行了如下的介绍:
- 在所有基准测试中,pdqsort 从未明显慢于以前的算法
- 在常见模式中,pdqsort 通常更快(即在排序切片中快 10 倍)
pdqsort 是 Pattern-defeating quicksort 的缩写,是一种新型的排序算法,将随机快速排序的快速平均情况与堆排序的最坏情况快速组合在一起,同时在具有特定模式的输入上实现了线性时间。pdqsort 是 David Mussers introsort 的扩展和改进。
目前该算法有 C++ 和 Rust 版本的实现,据不少开发者实测发现,pdqsort 较常用的 introsort 会有较大的性能提升。
- C++ 实现: https://github.com/orlp/pdqsort
- Rust 实现: https://docs.rs/pdqsort/latest/pdqsort/

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
面对巨头的垄断欺凌,Earthly 毅然决然从 “闭源” 转开源
Earthly 是一个 CI/CD 框架,允许开发者在本地开发 CI/CD 管道,并在任何地方运行它们。Earthly 利用容器来执行管道。这使得它具有可独立、可重复、可移植和并行这样的特点。目前 Earthly 在 GitHub 的 Star 数量为 6.5K。 过去为了保护 Earthly 自己的利益,并围绕它建立一个可持续的业务,他们一直在使用 BSL(Business Source License,未获得 OSI 认可)这样的 source-available(源码可见)的许可证。BSL 类似于开源许可证,但有额外的限制,使用限制性更强的许可证主要原因就是为了防止竞争对手将你的产品作为一种服务来提供,而之前这种类型的许可证更主要地用于数据库领域。 自 2020 年年初首次提交代码以来,Earthly 已经走过了两个年头。根据官方社交媒体下方的互动信息来看,在过去两年时间里,Earthly 不断增长的用户群大多都对 BSL 许可证没有意见,但在少数情况下,BSL 许可证也会成为劝退部分用户的一个原因。 虽然 Earthly 在很短的时间内取得了快速增长,但也因为潜在用户对 BSL...
- 下一篇
新一代国产 ORM 框架 sagacity-sqltoy-5.1.32 发版
开源地址: github:https://github.com/sagframe/sagacity-sqltoy gitee:https://gitee.com/sagacity/sagacity-sqltoy idea 插件(可直接在idea中检索安装):https://github.com/threefish/sqltoy-idea-plugins 更新内容 1、处理in条件查询语句参数数组长度超过1000场景 t.order_id (not) in (:orderIds) 转变成 ( t.order_id in (?,?..) or t.order_id in (?,?..)) 或 ( t.order_id not in (?,?..) and t.order_id not in (?,?..)) 2、findBySql(sql,map,resultType) 支持当查询单列时、resultType为原生类型,返回一维 List<T> 模式 3、升级spring等pom依赖版本 sqltoy的关键优势: //------------------了解 s...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 设置Eclipse缩进为4个空格,增强代码规范
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS6,CentOS7官方镜像安装Oracle11G
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS6,7,8上安装Nginx,支持https2.0的开启