Modern Dictionaries by Raymond Hettinger

SF Python · 149K views · 2016 · 1:07:41

Open on YouTube

Python, Ruby & scripting languagesAlgorithms & data structurestalk

Why Hacker News recommends it

HN treats it as the definitive, engaging talk on hash table internals and Python dict ordering, and recommends it in tech-talk lists.

What it is

Python core developer Raymond Hettinger explains how Python's dictionary implementation evolved into the compact, ordered dict in Python 3.6. He uses pictures and small bits of pure Python, and covers key-sharing, compaction and versioning.

Recommended by 9 HN commenters across 9 different months, 2016 to 2025.

What Hacker News said

Strong rec tomnipotent · 2016-12 · on “Hash tables with open addressing”

Raymond Hettinger gave a presentation a few weeks ago on the evolution of the Python dict implementation - one of the most insightful videos I've seen in a long time. [this video]

Strong rec svieira · 2018-04 · on “Ask HN: What is your favourite tech talk?”

Python dictionaries: A Confluence of Great Ideas (also known as Modern Dictionaries) by Raymond Hettinger [this video]

Strong rec AndrewOMartin · 2022-03 · on “Pre-Allocated Lists in Python”

[this video] Modern Dictionaries by Raymond Hettinger The official description of this talk is below, but personally, I'd watch any video with "Raymond Hettinger" in the title. > Python's dictionaries are stunningly good. Over the years, many great ideas have combined together to produce the modern implementation in Python 3.6. This fun talk is given by Raymond Hettinger, the Python core developer responsible for the set implementation and who designed the compact-and-ordered dict implemented in CPython for Python 3.6 and in PyPy for Python 2.7. He will use pictures and little bits of pure python code to explain all of the key ideas and how they evolved over time. He will also include newer featu

Recommends Dowwie · 2017-02 · on “I Wrote My Fastest Hashtable”

Raymond Hettinger made an interesting talk about Python's dict (hash table) and how Python's core development team evolved it over time. He's giving the polished version of talk at PyCon this May but if you can't wait for it, here's a rough version: [this video]

Recommends StreakyCobra · 2018-02 · on “Migrating to Python 3 with pleasure”

This has been changed in Python 3.6 only, due to a change in dictionary implementation to make them more efficient. "Modern Dictionaries by Raymond Hettinger" [1] is a quite interesting and technical talk about these changes, explaining also the change in iteration order IIRC, worth a watch in my opinion! [1] [this video]

Recommends maxnoe · 2018-06 · on “Python 3 at Facebook”

Actually they optimized the hashmap, and it turned out a side effect of the optimization was insertion order. First implemented in pypy, then ported to cpython 3.6. Talk by Raimond Hettinger about the new implementation with several other implementations: [this video]

Recommends StreakyCobra · 2018-10 · on “Ask HN: What are some of the best technical talks you've heard?”

I don't know if it is part of the bests, but very interesting anyway: Modern Dictionaries by Raymond Hettinger [1] It's about Python 3.6 dictionaries improvements. [1] [this video]

Recommends bbrik · 2020-02 · on “Python dicts are now ordered”

As far as I know, it was implemented by Raymond Hettinger. This is a very interesting talk about the new tech: [this video]