• Victor Stinner's avatar
    Issue #28618: Make hot functions using __attribute__((hot)) · c6944e7e
    Victor Stinner yazdı
    When Python is not compiled with PGO, the performance of Python on call_simple
    and call_method microbenchmarks depend highly on the code placement. In the
    worst case, the performance slowdown can be up to 70%.
    
    The GCC __attribute__((hot)) attribute helps to keep hot code close to reduce
    the risk of such major slowdown. This attribute is ignored when Python is
    compiled with PGO.
    
    The following functions are considered as hot according to statistics collected
    by perf record/perf report:
    
    * _PyEval_EvalFrameDefault()
    * call_function()
    * _PyFunction_FastCall()
    * PyFrame_New()
    * frame_dealloc()
    * PyErr_Occurred()
    c6944e7e
frameobject.c 32.2 KB