From 386f9358cee528f0d25b5bc777d430969e9b7feb Mon Sep 17 00:00:00 2001 From: Ken Jin Date: Fri, 6 Feb 2026 16:52:09 +0000 Subject: [PATCH 1/2] Recognise CPython as a JIT implementation --- pyperf/_utils.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pyperf/_utils.py b/pyperf/_utils.py index 540e7eed..56999148 100644 --- a/pyperf/_utils.py +++ b/pyperf/_utils.py @@ -183,6 +183,10 @@ def python_has_jit(): return sys.pypy_translation_info["translation.jit"] elif implementation_name in ['graalpython', 'graalpy']: return True + elif implementation_name == 'cpython': + if (jit_module := getattr(sys, '_jit')) is not None: + return jit_module.is_enabled() + return False elif hasattr(sys, "pyston_version_info") or "pyston_lite" in sys.modules: return True return False From ed3e33bf4596f1a21d58a0b22674ceae6f72dfe1 Mon Sep 17 00:00:00 2001 From: Ken Jin Date: Fri, 6 Feb 2026 17:02:28 +0000 Subject: [PATCH 2/2] Apply review comment --- pyperf/_utils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyperf/_utils.py b/pyperf/_utils.py index 56999148..d7d98810 100644 --- a/pyperf/_utils.py +++ b/pyperf/_utils.py @@ -184,7 +184,8 @@ def python_has_jit(): elif implementation_name in ['graalpython', 'graalpy']: return True elif implementation_name == 'cpython': - if (jit_module := getattr(sys, '_jit')) is not None: + jit_module = getattr(sys, '_jit', None) + if jit_module is not None: return jit_module.is_enabled() return False elif hasattr(sys, "pyston_version_info") or "pyston_lite" in sys.modules: