Instead, build a library and re-use that across compilations.
This still invokes a link step per target, and we'll want to deal with that at some point too, but at least this makes some progress to not being as wasteful with our compilation resources.
Additionally: remove bm_pollset -- it was having some problems compiling, and we really don't need it anymore.
Closes#36197
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36197 from ctiller:maintain-this-shite 9955026e23
PiperOrigin-RevId: 620946543
- Switched from yapf to black
- Reconfigure isort for black
- Resolve black/pylint idiosyncrasies
Note: I used `--experimental-string-processing` because black was
producing "implicit string concatenation", similar to what described
here: https://github.com/psf/black/issues/1837. While currently this
feature is experimental, it will be enabled by default:
https://github.com/psf/black/issues/2188. After running black with the
new string processing so that the generated code merges these `"hello" "
world"` strings concatenations, then I removed
`--experimental-string-processing` for stability, and regenerated the
code again.
To the reviewer: don't even try to open "Files Changed" tab 😄 It's
better to review commit-by-commit, and ignore `run black and isort`.
* Migrate the bm_diff benchmarks to python3
Includes a requirements.txt pinned at ~2017 versions, when this script
was first written.
* Replace p2 with p3 scipy/numpy dependencies.
* py2->3 for benchmark setup scripts
* upgrade pip to resolve python3 cryptography/setuptools-rust problem
* re-add jobset import (accidentally removed)
* re-add six's urllib import. This file is still used in py2 tests
* force py3 in run_if_c_cpp_modified.sh
* Fix another instance of subprocess.check_output binary mode
* Use the requirements.txt for CI perf environment setup
* Try to upgrade PyJWT. (v2.0.0 was problematic, #25053)
v2.x makes encode return strs from jwt.encode in both py2 and py3.
Previously, py3 would return bytes, and py2 a str.
* upgate cryptography lib version requirements for jwt.
* Wrap pip requirements specifier in quotes '>=x,<y'
* Decode subprocess output once instead of for every line
* Revert "Decode subprocess output once instead of for every line"
This reverts commit 28d14026431622ac7afd3535a8d7118e5be96628.
py2 doesn't support the `text` argument to subprocess.check_output.
* Address reviewer requests
* Pin a valid scipy version
* Remove scipy and tabulate dependencies from macos tests