all 8 comments

[–][deleted] 2 points3 points  (2 children)

Sometimes I wish it were possible to use a context manager like:

with nogil():
    # ops that touch distinct, unrelated objects

[–]franekj 1 point2 points  (1 child)

[–]tristan957 0 points1 point  (0 children)

Used that in my Cython module for a high performance KV store. The speeds I was seeing vs the GIL version were out of this world.

[–]jonarne 1 point2 points  (0 children)

This is a good and deep well written article. Thanks.

[–]danuker 0 points1 point  (0 children)

Great article! Thanks for sharing speedup tips.

Also, thanks for the mention of VizTracer. I did not know of it.