BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//pretalx//programme.europython.eu//europython-2026//talk//VKURLV
BEGIN:VTIMEZONE
TZID:CET
BEGIN:STANDARD
DTSTART:20001029T040000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20000326T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
UID:pretalx-europython-2026-VKURLV@programme.europython.eu
DTSTART;TZID=CET:20260716T124500
DTEND;TZID=CET:20260716T131500
DESCRIPTION:Python dicts are everywhere! They back module namespaces\, inst
 ance attributes\, **kwargs\, and of course actual dictionaries. But have y
 ou ever wondered how they work under the hood? And more importantly\, what
  happens to them now that free-threaded Python is here?\n\nIn this talk\, 
 we'll start by exploring the internals of CPython's dict implementation: h
 ow hashing works\, the compact table layout that gives you insertion order
 \, and how lookups\, insertions\, and deletions actually play out in memor
 y. Then we'll see what had to change for free-threading: how reads remain 
 fast without acquiring locks\, what the per-object lock is and when it kic
 ks in\, and why making a dict thread-safe is harder than it sounds.\n\nFin
 ally\, we'll look at the ongoing effort to document CPython's thread-safet
 y guarantees for built-in types and what the resulting documentation means
  for a Python developer writing concurrent code.\n\nThe audience will leav
 e with a deep understanding of how Python's most important data structure 
 works\, how it's been adapted for a free-threaded world\, and what they ca
 n (or can't) safely do with dicts across threads.
DTSTAMP:20260524T130632Z
LOCATION:Auditorium Hall (S1)
SUMMARY:Python Dicts: Past\, Present\, and Free-Threaded Future - Lysandros
  Nikolaou
URL:https://programme.europython.eu/europython-2026/talk/VKURLV/
END:VEVENT
END:VCALENDAR
