稳定复现的 hashmap 陷阱
当我们看了很多哈希函数的介绍并切换到一个你认为更快的哈希函数上面时,大部分代码都获得了预期的速度提升,但有些部分却莫名其妙地变慢了很多,尤其是在处理大型 hashmap 时。
如果这听起来很熟悉,那么您可能遇到了稳定复现的 hashmap 陷阱。
google swisstable 是 2017 年 cppcon 上被发表的一个高性能的 hashtable 。
从 rust 1.36 开始,swisstable 就是 rust hashmap 的标准库实现。
虽然它有不错的性能,但 swisstable 旨在以性能为代价抵御一类 hashdos 攻击。
如果您关心性能并且不关心安全问题,切换到类似 fxhasher 或者 ahash 可以显着提高性能。
然而,这个建议的代价却很少有人提及 —— 一些 o(n) hashtable 操作,包括反序列化,在一些 case 下它的时间复杂度有可能会升级到 o(n**2)。
下面博文会给大家带来测试 case 以及为什么会发生如此大的性能差距
https://morestina.net/blog/1843/the-stable-hashmap-trap
cnosdb 2.0 发布
特色功能:
专为时序数据设计的存储引擎,优化写操作,支持删除和更新操作;
压缩算法由用户灵活指定,压缩比可调;
基于 apache arrow 及 datafusion 实现了查询引擎;
支持标准 sql,支持 schemaless 写入;
多索引优化了查询效率;
生态友好,支持 restful 接口,支持 telegraf、grafana 等通用第三方生态组件。
快速上手指南:http://docs.cnosdb.com
github仓库: https://github.com/cnosdb/cnosdb
FHA60T65A IGBT单管为何是后极逆变电路中的首选元器件呢?
自动化控制系统配置原则和方法介绍
SPI FLASH与NOR FLASH的区别 详解SPI FLASH与NOR FLASH的不一样
珞石机器人活塞去毛刺方案
为保证自动驾驶汽车的安全性 车用传感器必不可少
测试case为什么会发生如此大的性能差距
水质多参数在线检测仪监测系统
如何将数据从MySQL迁移到Influxdb中
江苏南京fm频道列表
气体减压阀有哪些品牌
手持终端定制|PDA|手持机|rfid手持终端设备开发解决方案
大家需要什么样的clocktree呢?芯片的动脉CLOCK TREE介绍
华为5G随行WiFi值不值得买
采取几个步骤,使物联网转型更容易
华为推送新系统,流畅度不逊于苹果iOS
Wolfspeed模块产品组合如何服务于整个功率范围
数字电路中何时会发生亚稳态
袖珍笔记本电脑制作教程
在人工智能这场竞赛中,香港正迎头赶上
仪表放大器的REF引脚有哪些作用?