マルチスレッドのCPythonコードをプロファイリングしています。
特定のコード セグメントの実行にかかる時間を測定するために、GIL (Global Interpreter Lock)がそのセグメントのスレッド間で切り替えないように強制したいと考えています。これはどのように行うことができますか?
更新:
次の疑似コードを想定します。
some_code_1()
make_the_interpreter_not_change_thread()
take_start_time() # time critical
code_to_profile() # time critical
take_end_time() # time critical
release_the_interpreter()
some_code_2()
私の懸念は、インタープリターが「タイム クリティカルな」プロファイリング期間中にスレッドを切り替えることです。