]> granicus.if.org Git - python/commit
bpo-27535: Optimize warnings.warn() (#4508)
authorVictor Stinner <victor.stinner@gmail.com>
Wed, 22 Nov 2017 22:51:42 +0000 (23:51 +0100)
committerGitHub <noreply@github.com>
Wed, 22 Nov 2017 22:51:42 +0000 (23:51 +0100)
commit82656276caf4cb889193572d2d14dbc5f3d2bdff
tree19060972ab524aa7962ca411f079cfa14ec614fa
parentbb11c3c967afaf263e00844d4ab461b7fafd6d36
bpo-27535: Optimize warnings.warn() (#4508)

* Optimize warnings.filterwarnings(). Replace re.compile('') with
  None to avoid the cost of calling a regex.match() method, whereas
  it always matchs.
* Optimize get_warnings_attr(): replace PyObject_GetAttrString() with
  _PyObject_GetAttrId().

Cleanup also create_filter():

* Use _Py_IDENTIFIER() to allow to cleanup strings at Python
  finalization
* Replace Py_FatalError() with a regular exceptions
Lib/warnings.py
Python/_warnings.c