1. 11 Ara, 2016 2 kayıt (commit)
  2. 05 Ara, 2016 1 kayıt (commit)
    • Victor Stinner's avatar
      Issue #28858: Remove _PyObject_CallArg1() macro · 7bfb42d5
      Victor Stinner yazdı
      Replace
         _PyObject_CallArg1(func, arg)
      with
         PyObject_CallFunctionObjArgs(func, arg, NULL)
      
      Using the _PyObject_CallArg1() macro increases the usage of the C stack, which
      was unexpected and unwanted. PyObject_CallFunctionObjArgs() doesn't have this
      issue.
      7bfb42d5
  3. 20 Kas, 2016 1 kayıt (commit)
  4. 16 Kas, 2016 1 kayıt (commit)
  5. 11 Kas, 2016 2 kayıt (commit)
    • 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
    • Victor Stinner's avatar
      Use PyThreadState_GET() in performance critical code · 0cae6098
      Victor Stinner yazdı
      It seems like _PyThreadState_UncheckedGet() is not inlined as expected, even
      when using gcc -O3.
      0cae6098
  6. 21 Eki, 2016 2 kayıt (commit)
  7. 07 Eyl, 2016 1 kayıt (commit)
  8. 22 Agu, 2016 2 kayıt (commit)
  9. 01 May, 2016 1 kayıt (commit)
  10. 10 Nis, 2016 1 kayıt (commit)
  11. 06 Nis, 2016 1 kayıt (commit)
  12. 28 Şub, 2016 1 kayıt (commit)
  13. 20 Ock, 2016 1 kayıt (commit)
    • Victor Stinner's avatar
      Add _PyThreadState_UncheckedGet() · bfd316e7
      Victor Stinner yazdı
      Issue #26154: Add a new private _PyThreadState_UncheckedGet() function which
      gets the current thread state, but don't call Py_FatalError() if it is NULL.
      
      Python 3.5.1 removed the _PyThreadState_Current symbol from the Python C API to
      no more expose complex and private atomic types. Atomic types depends on the
      compiler or can even depend on compiler options. The new function
      _PyThreadState_UncheckedGet() allows to get the variable value without having
      to care of the exact implementation of atomic types.
      
      Changes:
      
      * Replace direct usage of the _PyThreadState_Current variable with a call to
        _PyThreadState_UncheckedGet().
      * In pystate.c, replace direct usage of the _PyThreadState_Current variable
        with the PyThreadState_GET() macro for readability.
      * Document also PyThreadState_Get() in pystate.h
      bfd316e7
  14. 27 Ara, 2015 1 kayıt (commit)
  15. 03 Tem, 2015 1 kayıt (commit)
  16. 02 Nis, 2015 1 kayıt (commit)
  17. 24 Mar, 2015 1 kayıt (commit)
  18. 18 Mar, 2015 1 kayıt (commit)
  19. 08 Eki, 2014 1 kayıt (commit)
  20. 30 Eyl, 2014 1 kayıt (commit)
  21. 10 Şub, 2014 2 kayıt (commit)
  22. 07 Kas, 2013 1 kayıt (commit)
  23. 06 Kas, 2013 2 kayıt (commit)
  24. 12 Eki, 2013 1 kayıt (commit)
  25. 02 Eyl, 2013 1 kayıt (commit)
  26. 27 Agu, 2013 1 kayıt (commit)
  27. 26 Agu, 2013 2 kayıt (commit)
  28. 22 Tem, 2013 1 kayıt (commit)
  29. 17 Tem, 2013 2 kayıt (commit)
  30. 16 Tem, 2013 1 kayıt (commit)
  31. 11 Tem, 2013 1 kayıt (commit)
  32. 04 Tem, 2013 1 kayıt (commit)