🌘 2022年C++雜湊映射綜合基準測試
➤ 深入解析各主流C++雜湊映射的效能表現與技術細節
https://martin.ankerl.com/2022/08/27/hashmap-bench-01/
這篇報告是Martin Leitner-Ankerl在2022年針對C++雜湊映射進行的全面基準測試更新。由於收到廣泛請求,作者在三年後重新進行了這項耗時的研究。他評估了多達29種雜湊映射及其搭配特殊記憶體分配器的變體,並結合6種雜湊函式,總共測試了174種組合,並在11個不同的基準測試中執行,累積了1914次評估。測試環境嚴謹,硬體使用鎖定頻率的Intel i7處理器,並在獨立核心上運行,禁用頻率縮放與渦輪加速。軟體則採用Manjaro Linux,使用clang++ 13編譯,並以中位數結果排除異常值。基準測試詳細檢視了雜湊映射的複製、大量插入與清除、隨機插入與存取、以及隨機插入與清除等操作的效能,特別探討了不同操作模式(如存取比例、值域大小、位元分佈)下的表現,提供對各類雜湊映射實際應用效能的深
#C++ #Hashmap #基準測試 #效能分析 #程式設計 #資料結構
Comprehensive C++ Hashmap Benchmarks 2022

Where I've spent way too much time creating benchmarks of C++ hashmaps

Martin Leitner-Ankerl
Comprehensive C++ Hashmap Benchmarks 2022

Where I've spent way too much time creating benchmarks of C++ hashmaps

Martin Leitner-Ankerl

Wer mit Java anfängt, stößt sehr schnell auf den Begriff Collection. Gemeint ist damit nicht einfach irgendeine Liste, sondern ein ganzes Framework – also eine Sammlung von Schnittstellen und Klassen, die es uns ermöglichen, Daten komfortabel zu speichern, zu durchsu...

https://magicmarcy.de/java-collections-verstehen-list-set-map-queue

#Collections #List #Set #Map #Queue #ArrayList #HashSet #HashMap #LinkedList #java.util #Framework #Sammlung #Liste #Schlüssel-Wert-Paare #Warteschlange

Java Collections verstehen (List, Set, Map, Queue) | magicmarcy.de

Wer mit Java anfängt, stößt sehr schnell auf den Begriff Collection. Gemeint ist damit nicht einfach irgendeine Liste, sondern ein ganzes Framework – also eine Sammlung von Schnittstellen und Klassen, die es uns ermöglichen, Daten komfortabel zu speichern, zu durchsuchen und zu verarbeiten. Für viele Einsteiger ist das am Anfang ein undurchsichtiger Dschungel: ArrayList, HashSet, HashMap, LinkedList – was ist was, und wann verwende ich welches? In diesem Beitrag möchte ich dir Schritt für Schritt zeigen, wie du die wichtigsten Typen der Java Collections verstehst und wie du sie praktisch einsetzen kannst. Wir konzentrieren uns dabei auf die vier Grundtypen: List, Set, Map und Queue. Ziel ist, dass du am Ende intuitiv weißt, wann du welche Datenstruktur verwendest und warum.

magicmarcy.de

Tối ưu thêm #Java SwissTable: Khắc phục tràn hồ sơ và thử nghiệm #SWAR. Tác giả kiểm tra lại phần #hashmap nhanh nhất bằng cách sửa lỗi hiệu năng khi dùng `Objects.equals()` và thay thế `VectorMask.toLong()` bằng SWAR (ngay cả trên x86). Kết quả bất ngờ, tốc độ cải thiện rõ rệt!

#Java #Optimization #SWAR #Programming #ThietKeHeThong #KhaiTriểnPhầnMềm

https://www.reddit.com/r/programming/comments/1pp0wg2/further_optimizing_my_java_swisstable_profile/

In der Java-Welt begegnet man früher oder später sogenannten Maps (der Map-Schnittstelle) – und das völlig zu Recht! Sie ist ein grundlegender Bestandteil der Java Collection Frameworks und ermöglicht es, anders als Listen, Daten als Schlüssel-Wert-Paare zu speichern.

https://magicmarcy.de/maps-in-java-mehr-als-wegweiser

#Maps #Java #Schlüssel-Wert-Paare #Key #Value #HashMap #LinkedHashMap #TreeMap #programming

Maps in Java - mehr als Wegweiser | magicmarcy.de

In der Java-Welt begegnet man früher oder später sogenannten Maps (der Map-Schnittstelle) – und das völlig zu Recht! Sie ist ein grundlegender Bestandteil der Java Collection Frameworks und ermöglicht es, anders als Listen, Daten als Schlüssel-Wert-Paare zu speichern.

magicmarcy.de
Wednesday Links - Edition 2025-10-22

What Most Java Developers Miss About HashMap - And Why It Might Be Slowing You Down (4...

DEV Community

Wenn hashCode(), lügt wird die #HashMap inkonsistent. Im sicherheitskritischen Bereich fatal: Lookup-Ausfall, Authorization Bypass, Resource Lock Hijack — alles möglich. @svenruppert liefert eine genaue Analyse mit interaktiver #Vaadin-Demo: https://javapro.io/de/wenn-hashcode-luegt-und-equals-hilflos-ist/

#JavaSecurity

Wenn hashCode() lügt und equals() hilflos ist - JAVAPRO Germany

Ein tiefer Blick in Java’s HashMap-Fallen – visuell demonstriert mit Vaadin Flow Die stille Gefahr in der Standardbibliothek…

JAVAPRO Germany
RustのMapはとりあえず IndexMap を使用すればいい - Qiita

背景 Rustで辞書型のデータ構造を扱う際にはHashMapとBTreeMapの二種類があってどちらを使うかよく悩みますよね。私は今まではよくBTreeMapのほうを使用していました。確かにHashMapのほうが多くの操作がO(1)でBTreeMapのO(logN)よりも...

Qiita
Master how hash maps work under the hood, from hashing to collisions—and how to write 2x faster code by working with your language's implementation. https://hackernoon.com/how-hash-maps-work #hashmap
How Hash Maps Work | HackerNoon

Master how hash maps work under the hood, from hashing to collisions—and how to write 2x faster code by working with your language's implementation.

Just did some benchmarking on data structures in Rust and was surprised to see that SkipList is slower than Vector and HashMap for search operations!

Insertion times are pretty good, but searching is where the SkipList falls behind.

If you're curious about this too, check out my little demo project: https://github.com/sh4ka/skiplist-demo

It's a simple benchmarking program that inserts 1 million elements and then searches for one of them.

#Rustlang #DataStructures #SkipList #Vector #HashMap #Programming

GitHub - sh4ka/skiplist-demo: Rust benchmark comparing `SkipList` vs `Vec` (binary search) vs `HashMap`. Results: `SkipList` (O(log N)) significantly slower for pure search due to scattered memory and poor cache locality. `Vec` excels with cache efficiency; `HashMap` offers fast O(1) search. Choose structure based on real workloads and memory/cache considerations.

Rust benchmark comparing `SkipList` vs `Vec` (binary search) vs `HashMap`. Results: `SkipList` (O(log N)) significantly slower for pure search due to scattered memory and poor cache locality. `Vec`...

GitHub