0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

測試case為什么會發(fā)生如此大的性能差距

jf_wN0SrCdH ? 來源:Rust語言中文社區(qū) ? 作者:EAHITechnology ? 2022-11-10 10:07 ? 次閱讀

穩(wěn)定復(fù)現(xiàn)的 HashMap 陷阱

當我們看了很多哈希函數(shù)的介紹并切換到一個你認為更快的哈希函數(shù)上面時,大部分代碼都獲得了預(yù)期的速度提升,但有些部分卻莫名其妙地變慢了很多,尤其是在處理大型 hashMap 時。

如果這聽起來很熟悉,那么您可能遇到了穩(wěn)定復(fù)現(xiàn)的 HashMap 陷阱。

Google SwissTable 是 2017 年 CppCon 上被發(fā)表的一個高性能的 hashTable 。

從 Rust 1.36 開始,SwissTable 就是 Rust HashMap 的標準庫實現(xiàn)。

雖然它有不錯的性能,但 SwissTable 旨在以性能為代價抵御一類 HashDoS 攻擊。

如果您關(guān)心性能并且不關(guān)心安全問題,切換到類似 FxHasher 或者 ahash 可以顯著提高性能。

然而,這個建議的代價卻很少有人提及 —— 一些 O(n) hashTable 操作,包括反序列化,在一些 case 下它的時間復(fù)雜度有可能會升級到 O(n**2)。

下面博文會給大家?guī)頊y試 case 以及為什么會發(fā)生如此大的性能差距

https://morestina.net/blog/1843/the-stable-hashmap-trap

CnosDB 2.0 發(fā)布

特色功能:

專為時序數(shù)據(jù)設(shè)計的存儲引擎,優(yōu)化寫操作,支持刪除和更新操作;

壓縮算法由用戶靈活指定,壓縮比可調(diào);

基于 Apache Arrow 及 DataFusion 實現(xiàn)了查詢引擎;

支持標準 SQL,支持 Schemaless 寫入;

索引優(yōu)化了查詢效率;

生態(tài)友好,支持 RESTful 接口,支持 Telegraf、Grafana 等通用第三方生態(tài)組件。

快速上手指南:http://docs.cnosdb.com

GitHub倉庫: https://github.com/cnosdb/cnosdb






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • SQL
    SQL
    +關(guān)注

    關(guān)注

    1

    文章

    750

    瀏覽量

    43900
  • rust語言
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    2988

原文標題:【Rust日報】2022-11-09 穩(wěn)定復(fù)現(xiàn)的 HashMap 陷阱

文章出處:【微信號:Rust語言中文社區(qū),微信公眾號:Rust語言中文社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    CMMB信號發(fā)生性能測試原理

    在CMMB性能測試中,信號發(fā)生器是關(guān)鍵的測試設(shè)備。通過信號發(fā)生器可以很方便地產(chǎn)生不同條件配置下的CMMB信號,從而可以完成對被測設(shè)備的各項指
    發(fā)表于 12-16 11:44 ?1824次閱讀
    CMMB信號<b class='flag-5'>發(fā)生</b>器<b class='flag-5'>性能</b><b class='flag-5'>測試</b>原理

    FX2重新枚舉會發(fā)生什么

    你好,我正試圖了解當FX2有電源但USB被拔出后再插入的時候會發(fā)生什么。我們的固件使用VANDYAX示例作為骨架代碼。我原本以為,如果用戶拔出USB電纜并將它插回(電源是單獨提供的,而不是通過USB
    發(fā)表于 05-30 10:26

    為什么pads9.5原理圖轉(zhuǎn)pcb時會發(fā)生錯誤?

    原理圖是直接從網(wǎng)上下載的,然后從原理圖轉(zhuǎn)pcb是發(fā)生如下錯誤,求助
    發(fā)表于 09-26 23:08

    使用FVR會發(fā)生什么?

    你好!我有一個AD問題。我使用PIC16F1823I為ADCFVR=>4.096V使用固定電壓參考電壓,條件Vdd>=4.75VBut我的Vdd=4.0~4.5V和我的AD輸入>3.6V如果使用FVR,會發(fā)生什么?抱歉打擾了。
    發(fā)表于 04-08 10:15

    搭建完Keil工程后進行編譯后發(fā)生如下的錯誤

    狀況:搭建完Keil工程后進行編譯后發(fā)生如下的錯誤:compiling stm32f4xx_fmc.c.....\..\CodeFile\Bsp\stm32f4xx_fmc.c(144
    發(fā)表于 08-24 07:12

    在DevEco Studio IDEA中使用華為云iot應(yīng)用側(cè)開發(fā)Java Demo時發(fā)生如下錯誤

    在DevEco Studio IDEA中使用華為云iot應(yīng)用側(cè)開發(fā)Java Demo時發(fā)生如下錯誤
    發(fā)表于 10-30 11:02

    有沒有人知道為什么調(diào)試模式會對RAM保留產(chǎn)生如此大的影響?

    時,SRAM2 不再保留。我已經(jīng)設(shè)置了 PWR_CR3_RRS 位,選項字節(jié) SRAM_RST 是默認設(shè)置的,我已經(jīng)將我的鏈接器設(shè)置為不初始化我希望保留的 SRAM2 部分。有沒有人知道為什么調(diào)試模式會對 RAM 保留產(chǎn)生如此大的影響?
    發(fā)表于 12-07 07:36

    為什么在另一臺計算機上加載項目時“ioc”文件的內(nèi)容會發(fā)生如此巨大的變化?

    ”。為什么會發(fā)生這種情況,我們?nèi)绾伪苊膺@種情況?看到項目文件被標記為變化如此之大可能是良性的,但是,尤其是對于客戶來說,這是令人不安的。
    發(fā)表于 01-06 07:25

    那些已經(jīng)發(fā)生會發(fā)生的移動醫(yī)療猜想

    本文整合了各大研究分析機構(gòu)曾經(jīng)預(yù)測的那些已經(jīng)發(fā)生會發(fā)生的移動醫(yī)療猜想,以饗讀者:移動醫(yī)療APP、無線醫(yī)療應(yīng)用、遠程監(jiān)護規(guī)模和M2M應(yīng)用應(yīng)有盡有...
    發(fā)表于 03-26 10:07 ?3522次閱讀

    論為什么樂視會發(fā)生三級“失控”

    本文主要講述了為什么樂視網(wǎng)會發(fā)生三級“失控”現(xiàn)象。
    的頭像 發(fā)表于 08-16 10:54 ?2883次閱讀

    游戲本與輕薄本的性能測試,差距究竟有多大

    眾所周知,游戲本相比輕薄本的散熱更好,性能釋放也更加充分,那么兩者性能差距究竟有多大呢?外媒NoteBookcheck就用搭載i9-9980HK的外星人m17 R2、戴爾XPS 15和蘋果MacBook Pro進行了
    的頭像 發(fā)表于 03-02 14:29 ?5865次閱讀

    SpinalHDL Simulation性能提升測試

    昨晚看SpinalHDL的Issues,其中有一個關(guān)于性能提升的case 吸引到了我,嘗試實驗到深夜,測試下在SpinalHDL以及cocotb下的性能優(yōu)化手段。
    的頭像 發(fā)表于 08-06 17:10 ?649次閱讀
    SpinalHDL Simulation<b class='flag-5'>性能</b>提升<b class='flag-5'>測試</b>

    Switch case中的case順序

    ,并按照順序進行比較,匹配時就跳轉(zhuǎn)到滿足條件的語句執(zhí)行。所以,可以對case的值依照發(fā)生的可能性進行排序,把最有可能的放在第一位,這樣可以提高性能。 此外,在case中推薦使用小的連續(xù)
    的頭像 發(fā)表于 11-20 18:16 ?652次閱讀

    LED測試不當,會發(fā)生電應(yīng)力損傷:你知道這是什么原因嗎?

    LED測試不當,會發(fā)生電應(yīng)力損傷:你知道這是什么原因嗎?
    的頭像 發(fā)表于 12-05 11:38 ?418次閱讀

    IGBT集電極電壓超過額定電壓會發(fā)生什么?

    IGBT集電極電壓超過額定電壓會發(fā)生什么?
    的頭像 發(fā)表于 12-08 16:55 ?781次閱讀
    IGBT集電極電壓超過額定電壓<b class='flag-5'>會發(fā)生</b>什么?