GIL serialization in DataFrame.apply(axis=1) during concurrent thread execution
Investigating latency variance when multiple threads concurrently invoke DataFrame.apply(axis=1) . The Global Interpreter Lock serializes Python-level function dispatch, and row-wise apply calls incur per-invocation overhead that compounds under thread concurrency. Version-specific defaults—such as the C engine's I/O blocking in read_csv versus the pure‑Pyth