
Why Your Python Cache Does the Same Work Twice (P.S: GIL Won’t Save You)
transcript
show notes
This story was originally published on HackerNoon at: https://hackernoon.com/why-your-python-cache-does-the-same-work-twice-ps-gil-wont-save-you.
Your Python cache can run the same work twice, even with the GIL. See the check-then-act race, the lru_cache gotcha, and how locks fix it.
Check more stories related to data-science at: https://hackernoon.com/c/data-science.
You can also check exclusive content about #python-programming, #python-threading, #race-conditions, #python-gil, #thread-safety, #python-concurrency, #hackernoon-top-story, and more.
This story was written by: @sohelalam79. Learn more about this writer by checking @sohelalam79's about page,
and for more stories, please visit hackernoon.com.
A cache that checks "is this key missing?" and then computes the value can run the same work many times when threads interleave, even with the GIL, because the GIL protects the interpreter, not your two-step logic. Hold one lock around the check and the work, ideally one lock per key.





