Skip to content

gh-150638: Improve performance of json.loads and json.load for numeric data #204672

gh-150638: Improve performance of json.loads and json.load for numeric data

gh-150638: Improve performance of json.loads and json.load for numeric data #204672

Triggered via pull request August 5, 2026 10:03
Status Cancelled
Total duration 11m 7s
Artifacts 2

build.yml

on: pull_request
Change detection  /  Create context from changed files
15s
Change detection / Create context from changed files
Matrix: Address sanitizer
Matrix: build-macos
Matrix: build-san
Matrix: Ubuntu SSL tests
Matrix: build-ubuntu
Matrix: build-windows
Matrix: cifuzz
Docs  /  Doctest
7m 45s
Docs / Doctest
Docs  /  Check EPUB
2m 26s
Docs / Check EPUB
Check if Autoconf files are up to date
44s
Check if Autoconf files are up to date
Check if generated files are up to date
4m 35s
Check if generated files are up to date
C API Docs  /  Check if all C APIs are documented
9s
C API Docs / Check if all C APIs are documented
iOS
10m 37s
iOS
Emscripten  /  build and test
9m 53s
Emscripten / build and test
WASI  /  build and test
5m 23s
WASI / build and test
Hypothesis tests on Ubuntu
9m 20s
Hypothesis tests on Ubuntu
Cross build Linux
4m 31s
Cross build Linux
Matrix: build-android
Docs  /  ...  /  Check for removed HTML IDs
1m 55s
Docs / Check for removed HTML IDs / Check for removed HTML IDs
All required checks pass
2s
All required checks pass
Fit to window
Zoom out
Zoom in

Annotations

81 errors and 7 warnings
Docs / Docs
Process completed with exit code 2.
Docs / Check EPUB
Process completed with exit code 1.
CIFuzz / cpython3 (address)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
CIFuzz / cpython3 (address)
Path does not exist: cifuzz-sarif/results.sarif
CIFuzz / cpython3 (address)
The operation was canceled.
CIFuzz / cpython3 (memory)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
CIFuzz / cpython3 (memory)
The operation was canceled.
CIFuzz / cpython3 (undefined)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
CIFuzz / cpython3 (undefined)
Path does not exist: cifuzz-sarif/results.sarif
CIFuzz / cpython3 (undefined)
The operation was canceled.
CIFuzz / python3-libraries (address)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
CIFuzz / python3-libraries (address)
The operation was canceled.
Windows / Build and test (x64, switch-case)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Windows / Build and test (x64, switch-case)
The operation was canceled.
Ubuntu (bolt) / build and test (ubuntu-26.04)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Ubuntu (bolt) / build and test (ubuntu-26.04)
The operation was canceled.
Windows / Build and test (x64, tail-call)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Windows / Build and test (x64, tail-call)
The operation was canceled.
Windows (free-threading) / Build and test (x64, tail-call)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Windows (free-threading) / Build and test (x64, tail-call)
The operation was canceled.
Android (x86_64)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Windows / Build and test (Win32, switch-case)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Android (x86_64)
The operation was canceled.
Windows / Build and test (Win32, switch-case)
The operation was canceled.
Windows / Build and test (arm64, switch-case)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Windows / Build and test (arm64, switch-case)
The operation was canceled.
Windows (free-threading) / Build and test (x64, switch-case)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Windows (free-threading) / Build and test (x64, switch-case)
The operation was canceled.
Windows (free-threading) / Build and test (arm64, switch-case)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Windows (free-threading) / Build and test (arm64, switch-case)
The operation was canceled.
Ubuntu (free-threading) / build and test (ubuntu-26.04-arm)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Ubuntu (free-threading) / build and test (ubuntu-26.04-arm)
The operation was canceled.
Sanitizers / TSan
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Sanitizers / TSan
The operation was canceled.
Ubuntu / build and test (ubuntu-26.04-arm)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Ubuntu / build and test (ubuntu-26.04-arm)
The operation was canceled.
Emscripten / build and test
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Ubuntu (free-threading) / build and test (ubuntu-26.04)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Emscripten / build and test
The operation was canceled.
Ubuntu (free-threading) / build and test (ubuntu-26.04)
The operation was canceled.
Address sanitizer (ubuntu-26.04)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Address sanitizer (ubuntu-26.04)
The operation was canceled.
Ubuntu / build and test (ubuntu-26.04)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Ubuntu / build and test (ubuntu-26.04)
The operation was canceled.
Sanitizers / TSan (free-threading)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Sanitizers / TSan (free-threading)
The operation was canceled.
Sanitizers / UBSan
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Sanitizers / UBSan
The operation was canceled.
macOS / build and test (macos-26)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
macOS / build and test (macos-26)
The operation was canceled.
macOS / build and test (macos-26-intel)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
macOS / build and test (macos-26-intel)
The operation was canceled.
macOS (free-threading) / build and test (macos-26)
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
macOS (free-threading) / build and test (macos-26)
The operation was canceled.
iOS
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
iOS
The operation was canceled.
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
All required checks pass
Process completed with exit code 1.
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Tests
Canceling since a higher priority waiting request for Tests-eendebakpt-json-loads-opt exists
Hypothesis tests on Ubuntu
No files were found with the provided path: /home/runner/work/cpython/cpython-builddir/.hypothesis/examples/. No artifacts will be uploaded.
macOS / build and test (macos-26)
`$HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` is set: not checking for outdated dependents or dependents with broken linkage!
macOS / build and test (macos-26)
The following taps are not trusted: aws/tap Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required. Untap them with: brew untap aws/tap Trust specific formulae, casks and commands with: brew trust --formula <user>/<tap>/<formula> brew trust --cask <user>/<tap>/<cask> brew trust --command <user>/<tap>/<command> Whole-tap trust is broader and includes all current and future formulae, casks and commands from the listed taps. Trust whole taps with: brew trust aws/tap To disable trust checks: export HOMEBREW_NO_REQUIRE_TAP_TRUST=1 This is not recommended and will be removed in a later release. For more information, see: https://docs.brew.sh/Tap-Trust
macOS / build and test (macos-26-intel)
`$HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` is set: not checking for outdated dependents or dependents with broken linkage!
macOS / build and test (macos-26-intel)
The following taps are not trusted: aws/tap Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required. Untap them with: brew untap aws/tap Trust specific formulae, casks and commands with: brew trust --formula <user>/<tap>/<formula> brew trust --cask <user>/<tap>/<cask> brew trust --command <user>/<tap>/<command> Whole-tap trust is broader and includes all current and future formulae, casks and commands from the listed taps. Trust whole taps with: brew trust aws/tap To disable trust checks: export HOMEBREW_NO_REQUIRE_TAP_TRUST=1 This is not recommended and will be removed in a later release. For more information, see: https://docs.brew.sh/Tap-Trust
macOS (free-threading) / build and test (macos-26)
`$HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` is set: not checking for outdated dependents or dependents with broken linkage!
macOS (free-threading) / build and test (macos-26)
The following taps are not trusted: aws/tap Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required. Untap them with: brew untap aws/tap Trust specific formulae, casks and commands with: brew trust --formula <user>/<tap>/<formula> brew trust --cask <user>/<tap>/<cask> brew trust --command <user>/<tap>/<command> Whole-tap trust is broader and includes all current and future formulae, casks and commands from the listed taps. Trust whole taps with: brew trust aws/tap To disable trust checks: export HOMEBREW_NO_REQUIRE_TAP_TRUST=1 This is not recommended and will be removed in a later release. For more information, see: https://docs.brew.sh/Tap-Trust

Artifacts

Produced during runtime
Name Size Digest
UBSan-logs-default
364 Bytes
sha256:87af4ac6eb562cb50f2fa05939e15b5ae889cca9924f3d4ed8f30b77d5ea53b0
html-ids-head.json.gz
125 KB
sha256:99cffddb5cee3c64f5fc1fa6ab3099963fe868bf5387286cce403fdccc841369