Skip to content

gh-156955: Speed up csv.writer by avoiding per char searches #208821

gh-156955: Speed up csv.writer by avoiding per char searches

gh-156955: Speed up csv.writer by avoiding per char searches #208821

Triggered via pull request September 9, 2026 17:30
Status Cancelled
Total duration 14m 19s
Artifacts 2

build.yml

on: pull_request
Change detection  /  Create context from changed files
13s
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
8m 30s
Docs / Doctest
Docs  /  Check EPUB
2m 24s
Docs / Check EPUB
Check if Autoconf files are up to date
31s
Check if Autoconf files are up to date
Check if generated files are up to date
4m 46s
Check if generated files are up to date
C API Docs  /  Check if all C APIs are documented
10s
C API Docs / Check if all C APIs are documented
Ubuntu (installed)  /  build, install and test
6m 11s
Ubuntu (installed) / build, install and test
iOS
12m 2s
iOS
Emscripten  /  build and test
11m 31s
Emscripten / build and test
WASI  /  build and test
5m 14s
WASI / build and test
Hypothesis tests on Ubuntu
7m 22s
Hypothesis tests on Ubuntu
Cross build Linux
5m 1s
Cross build Linux
Matrix: build-android
Docs  /  ...  /  Check for removed HTML IDs
2m 21s
Docs / Check for removed HTML IDs / Check for removed HTML IDs
All required checks pass
6s
All required checks pass
Fit to window
Zoom out
Zoom in

Annotations

77 errors, 7 warnings, and 2 notices
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-brittanyrey-b-perf-csv-lineterminator 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-brittanyrey-b-perf-csv-lineterminator exists
CIFuzz / cpython3 (memory)
Path does not exist: cifuzz-sarif/results.sarif
CIFuzz / cpython3 (memory)
The operation was canceled.
CIFuzz / python3-libraries (address)
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
CIFuzz / python3-libraries (address)
Path does not exist: cifuzz-sarif/results.sarif
CIFuzz / python3-libraries (address)
The operation was canceled.
CIFuzz / cpython3 (undefined)
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
CIFuzz / cpython3 (undefined)
Path does not exist: cifuzz-sarif/results.sarif
CIFuzz / cpython3 (undefined)
The operation was canceled.
Windows / Build and test (x64, tail-call)
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator 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-brittanyrey-b-perf-csv-lineterminator exists
Windows (free-threading) / Build and test (x64, tail-call)
The operation was canceled.
Windows / Build and test (x64, switch-case)
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Windows / Build and test (x64, switch-case)
The operation was canceled.
Android (x86_64)
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Android (x86_64)
The operation was canceled.
Windows (free-threading) / Build and test (x64, switch-case)
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Windows (free-threading) / Build and test (x64, switch-case)
The operation was canceled.
Windows / Build and test (Win32, switch-case)
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Windows / Build and test (Win32, switch-case)
The operation was canceled.
Windows (free-threading) / Build and test (arm64, switch-case)
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Windows (free-threading) / Build and test (arm64, switch-case)
The operation was canceled.
Windows / Build and test (arm64, switch-case)
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Windows / Build and test (arm64, switch-case)
The operation was canceled.
Ubuntu / build and test (ubuntu-26.04-arm)
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator 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-brittanyrey-b-perf-csv-lineterminator exists
Emscripten / build and test
The operation was canceled.
Address sanitizer (ubuntu-26.04)
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Address sanitizer (ubuntu-26.04)
The operation was canceled.
Ubuntu (free-threading) / build and test (ubuntu-26.04)
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Ubuntu (free-threading) / build and test (ubuntu-26.04)
The operation was canceled.
Sanitizers / TSan
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Sanitizers / TSan
The operation was canceled.
Ubuntu (bolt) / build and test (ubuntu-26.04)
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Ubuntu (bolt) / build and test (ubuntu-26.04)
The operation was canceled.
Sanitizers / UBSan
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Sanitizers / UBSan
The operation was canceled.
Sanitizers / TSan (free-threading)
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Sanitizers / TSan (free-threading)
The operation was canceled.
macOS / build and test (macos-26)
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator 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-brittanyrey-b-perf-csv-lineterminator 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-brittanyrey-b-perf-csv-lineterminator exists
macOS (free-threading) / build and test (macos-26)
The operation was canceled.
iOS
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
iOS
The operation was canceled.
All required checks pass
Process completed with exit code 1.
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Tests
Canceling since a higher priority waiting request for Tests-brittanyrey-b-perf-csv-lineterminator exists
Cross build Linux: Parser/lexer/string.c#L81
variable ‘previous_end’ set but not used [-Wunused-but-set-variable]
Ubuntu (installed) / build, install and test: Parser/lexer/string.c#L81
variable ‘previous_end’ set but not used [-Wunused-but-set-variable]
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.
Address sanitizer (ubuntu-26.04): Parser/lexer/string.c#L81
variable ‘previous_end’ set but not used [-Wunused-but-set-variable]
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-intel)
`$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)
`$HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` is set: not checking for outdated dependents or dependents with broken linkage!
Windows (free-threading) / Build and test (arm64, switch-case)
"The windows-11-arm label will migrate to use Visual Studio 2026 by default beginning September 21, 2026. For more information see https://github.com/actions/runner-images/issues/14602"
Windows / Build and test (arm64, switch-case)
"The windows-11-arm label will migrate to use Visual Studio 2026 by default beginning September 21, 2026. For more information see https://github.com/actions/runner-images/issues/14602"

Artifacts

Produced during runtime
Name Size Digest
UBSan-logs-default
364 Bytes
sha256:263e96a7f3f24f1a55ac21d318e8ea20fcb8732acb19d2d98f10428768c8f794
html-ids-head.json.gz
126 KB
sha256:1adef10ad7179cf4c04961ff36c05ed719db1d760ce0ec501a7c89bba4f32178