【Rust日报】2022-11-09 稳定复现的 HashMap 陷阱
创始人
2024-04-05 20:33:22
0

稳定复现的 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

直播间

https://live.bilibili.com/h5/23768194?broadcast_type=0&is_room_feed=1&spm_id_from=333.999.0.0


From 日报小组 侯盛鑫 mock

社区学习交流平台订阅:

  • Rust.cc 论坛: 支持 rss

  • 微信公众号:Rust 语言中文社区

相关内容

热门资讯

美团外卖怎么投诉 有效方法步骤... 点外卖时,我们偶尔也会与商家或者骑手发生不愉快。有时候只是一点小事,却因为彼此不好的态度而无法释怀,...
民生易贷是正规贷款吗?民生易贷...   民生助粒贷是属于民生易贷旗下运营的一款针对个人消费开放的信贷产品这款产品自上市以来就十分稳定,审...
灵活就业养老保险交哪个档次好?...   众所周知,灵活就业人员缴纳的养老保险有着不同的档次,选择不同的档次也意味着不同的投入和回报,那么...
微信怎么查医保卡余额,如何在微...   很多小伙伴都想要查询自己的社保卡的余额信息,但是去线下查询慢效率不高。但是其实在手机微信上就可以...
社保断交有什么影响?社保断交影...   很多小伙伴都知道社保需要每个月都交,但是社保断缴会怎么样呢?如果社保断缴会导致什么严重的后果吗?...
每年交7000社保15年领多少...   退休金是很多老人之后生活的凭据,那么自己缴纳十五年的社保,每年都交7000元,那么在退休之后能领...
退休金上调2022的最新消息,...   进入8月份,2022年的退休人员的养老金上涨,那么这一部分调整了什么内容呢?这是很多小伙伴啊都存...
公积金封存满6个月当天就能取?...   公积金是很多小伙伴在工作后都会交的,那么公积金封存后满6个月可以取吗?公积金封存之后可以提现吗?...
67类“示范文本”推广使用!对... 转自:新华社客户端“机动车交通事故责任纠纷中,受害人对于具体赔偿项目通常不清楚,示范文本将常见的12...
延迟退休年龄一览表2022,延...   现在延迟退休将于2022年开始启动,预计将在2027年实施,那么很多小伙伴就存在着疑惑了,不知道...