Skip to content
Permalink
main
Switch branches/tags

Commits on Aug 21, 2022

  1. small grammatical change (GH-96138)

    changed a to an under An example that uses most of the list methods
    sand8089 committed Aug 21, 2022
  2. gh-96098: Clearly link concurrent.futures from threading & multiproce…

    …ssing docs (GH-96112)
    
    Clearly link concurrent.futures from threading & multiprocessing docs
    
    Also link directly to asyncio from the beginning of the threading docs.
    ncoghlan committed Aug 21, 2022

Commits on Aug 19, 2022

  1. gh-96125: Fix sys.thread_info.name on pthread platforms (GH-96126)

    Automerge-Triggered-By: GH:tiran
    tiran committed Aug 19, 2022
  2. gh-95853: WASM: better version and asset handling in scripts (GH-96045)

    - support EMSDK tot-upstream and git releases
    - allow WASM assents for wasm64-emscripten and WASI. This makes single file distributions on WASI easier.
    - decouple WASM assets from browser builds
    tiran committed Aug 19, 2022
  3. gh-96017: Fix some compiler warnings (GH-96018)

    - "comparison of integers of different signs" in typeobject.c
    - only define static_builtin_index_is_set in DEBUG builds
    - only define recreate_gil with ifdef HAVE_FORK
    tiran committed Aug 19, 2022

Commits on Aug 18, 2022

  1. gh-95914: Add Py_UNICODE encode APIs removed in PEP 624 to 3.11 What'…

    …s New (#96016)
    
    * 3.11 Whatsnew: Add Py_UNICODE encode functions removed in PEP 624
    
    * Just use :func: instead of :c:func: for non-resolved funcs so ! works
    CAM-Gerlach committed Aug 18, 2022
  2. gh-95463: Remove backwards incompatible change regarding the _MASK_UT…

    …F_FILENAME flags in bpo-28080 (GH-96072)
    
    Automerge-Triggered-By: GH:pablogsal
    pablogsal committed Aug 18, 2022
  3. gh-90536: Add support for the BOLT post-link binary optimizer (gh-95908)

    * Add support for the BOLT post-link binary optimizer
    
    Using [bolt](https://github.com/llvm/llvm-project/tree/main/bolt)
    provides a fairly large speedup without any code or functionality
    changes. It provides roughly a 1% speedup on pyperformance, and a
    4% improvement on the Pyston web macrobenchmarks.
    
    It is gated behind an `--enable-bolt` configure arg because not all
    toolchains and environments are supported. It has been tested on a
    Linux x86_64 toolchain, using llvm-bolt built from the LLVM 14.0.6
    sources (their binary distribution of this version did not include bolt).
    
    Compared to [a previous attempt](faster-cpython/ideas#224),
    this commit uses bolt's preferred "instrumentation" approach, as well as adds some non-PIE
    flags which enable much better optimizations from bolt.
    
    The effects of this change are a bit more dependent on CPU microarchitecture
    than other changes, since it optimizes i-cache behavior which seems
    to be a bit more variable between architectures. The 1%/4% numbers
    were collected on an Intel Skylake CPU, and on an AMD Zen 3 CPU I
    got a slightly larger speedup (2%/4%), and on a c6i.xlarge EC2 instance
    I got a slightly lower speedup (1%/3%).
    
    The low speedup on pyperformance is not entirely unexpected, because
    BOLT improves i-cache behavior, and the benchmarks in the pyperformance
    suite are small and tend to fit in i-cache.
    
    This change uses the existing pgo profiling task (`python -m test --pgo`),
    though I was able to measure about a 1% macrobenchmark improvement by
    using the macrobenchmarks as the training task. I personally think that
    both the PGO and BOLT tasks should be updated to use macrobenchmarks,
    but for the sake of splitting up the work this PR uses the existing pgo task.
    
    * Simplify the build flags
    
    * Add a NEWS entry
    
    * Update Makefile.pre.in
    
    Co-authored-by: Dong-hee Na <donghee.na92@gmail.com>
    
    * Update configure.ac
    
    Co-authored-by: Dong-hee Na <donghee.na92@gmail.com>
    
    * Add myself to ACKS
    
    * Add docs
    
    * Other review comments
    
    * fix tab/space issue
    
    * Make it more clear that --enable-bolt is experimental
    
    * Add link to bolt's github page
    
    Co-authored-by: Dong-hee Na <donghee.na92@gmail.com>
    kmod and corona10 committed Aug 18, 2022
  4. Remove manual build scripts for Windows dependencies and put them in …

    …the release-tools repository instead (GH-96088)
    zooba committed Aug 18, 2022
  5. gh-95271: Rework sqlite3 tutorial (#95749)

    Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
    Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
    3 people committed Aug 18, 2022
  6. gh-93103: Doc uses PyConfig rather than deprecated vars (#96070)

    The C API documentation now uses the new PyConfig API, rather than
    deprecated global configuration variables.
    vstinner committed Aug 18, 2022
  7. gh-95813: Improve HTMLParser from the view of inheritance (#95874)

    * gh-95813: Improve HTMLParser from the view of inheritance
    
    * gh-95813: Add unittest
    
    * Address code review
    corona10 committed Aug 18, 2022

Commits on Aug 17, 2022

  1. gh-90110: Get the C Analyzer Tool Working Again (gh-96057)

    We broke it with a recent `_PyArg_Parser` change.
    
    Also:
    * moved the `_PyArg_Parser` whitelist entries over to ignored.tsv now that they are thread-safe
    * added some known globals from a currently-excluded file
    * dropped some outdated globals from the whitelist
    ericsnowcurrently committed Aug 17, 2022
  2. GH-95589: Dont crash when subclassing extension classes with multiple…

    … inheritance (GH-96028)
    
    * Treat tp_weakref and tp_dictoffset like other opaque slots for multiple inheritance.
    
    * Document Py_TPFLAGS_MANAGED_DICT and Py_TPFLAGS_MANAGED_WEAKREF in what's new.
    markshannon committed Aug 17, 2022
Older