~/talk

FORKS? POOLS? ASYNC? Solving Wordle with Python’s concurrency tools

Talkat PyCon AU 2023 · 2023-08-18..08-22· [python, reactive-programming]
slides:none on file

Builds a Python Wordle solver/statistics bot and measures real performance: uses concurrent.futures with thread pools (no GIL win), process pool speedup ~4.8x by moving scoring into separate processes, and chunking to reduce IPC. Benchmarks: single-thread ~185s for first guess, process pool ~38s, random solver ~90% success, exhaustive solver hits ~96% (hard mode lower, plurals removed boosts to ~97.5%). Experiments with nogil show promise but currently nogil currently ~1.6x slower on threaded workloads; code and datasets (Wordle, Wordlebot, answer list) are exercised end to end.

AI-written summary · about

  1. 0:00Start
  2. 12:30Making a guess
  3. 13:43One code simplification
  4. 17:31Processes
  5. 20:18Inter-process communication
  6. 23:27pyenv install nogil-3.9.10-1
  7. 28:24Hard mode
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.