diff options
| author | Federico Caselli <cfederico87@gmail.com> | 2021-01-01 16:09:01 +0100 |
|---|---|---|
| committer | Federico Caselli <cfederico87@gmail.com> | 2021-12-17 21:29:05 +0100 |
| commit | 76fa211620de167b76846f0e5db5b64b8756ad48 (patch) | |
| tree | c435dbf6585b3758dc78ee82bf114e162a25d0e1 /.github | |
| parent | 3543fcc9c9601e81560d055ceadaea05c75815c0 (diff) | |
| download | sqlalchemy-workflow_test_cython.tar.gz | |
Replace c extension with cython versions.workflow_test_cython
Re-implement c version immutabledict / processors / resultproxy / utils with cython.
Performance is in general in par or better than the c version
Added a collection module that has cython version of OrderedSet and IdentitySet
Added a new test/perf file to compare the implementations.
Run ``python test/perf/compiled_extensions.py all`` to execute the comparison test.
See results here: https://docs.google.com/document/d/1nOcDGojHRtXEkuy4vNXcW_XOJd9gqKhSeALGG3kYr6A/edit?usp=sharing
Fixes: #7256
Change-Id: I2930ef1894b5048210384728118e586e813f6a76
Signed-off-by: Federico Caselli <cfederico87@gmail.com>
Diffstat (limited to '.github')
| -rw-r--r-- | .github/workflows/create-wheels.yaml | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/.github/workflows/create-wheels.yaml b/.github/workflows/create-wheels.yaml index e90a9f3a2..c6eab3148 100644 --- a/.github/workflows/create-wheels.yaml +++ b/.github/workflows/create-wheels.yaml @@ -61,15 +61,13 @@ jobs: (cat setup.cfg) | %{$_ -replace "tag_build.?=.?dev",""} | set-content setup.cfg - name: Create wheel - # create the wheel using --no-use-pep517 since locally we have pyproject - # this flag should be removed once sqlalchemy supports pep517 # `--no-deps` is used to only generate the wheel for the current library. Redundant in sqlalchemy since it has no dependencies run: | python -m pip install --upgrade pip pip --version pip install 'setuptools>=44' 'wheel>=0.34' pip list - pip wheel -w dist --no-use-pep517 -v --no-deps . + pip wheel -w dist -v --no-deps . - name: Install wheel # install the created wheel without using the pypi index @@ -164,11 +162,9 @@ jobs: with: # python-versions is the output of the previous step and is in the form <python tag>-<abi tag>. Eg cp27-cp27mu python-versions: ${{ matrix.python-version }} - build-requirements: "setuptools>=44 wheel>=0.34" - # Create the wheel using --no-use-pep517 since locally we have pyproject - # This flag should be removed once sqlalchemy supports pep517 + build-requirements: "setuptools>=47 wheel>=0.34 cython>=0.29.24" # `--no-deps` is used to only generate the wheel for the current library. Redundant in sqlalchemy since it has no dependencies - pip-wheel-args: "-w ./dist --no-use-pep517 -v --no-deps" + pip-wheel-args: "-w ./dist -v --no-deps" - name: Create wheel for manylinux2014 for py3 # this step uses the image provided by pypa here https://github.com/pypa/manylinux to generate the wheels on linux @@ -179,11 +175,9 @@ jobs: with: # python-versions is the output of the previous step and is in the form <python tag>-<abi tag>. Eg cp27-cp27mu python-versions: ${{ matrix.python-version }} - build-requirements: "setuptools>=44 wheel>=0.34" - # Create the wheel using --no-use-pep517 since locally we have pyproject - # This flag should be removed once sqlalchemy supports pep517 + build-requirements: "setuptools>=47 wheel>=0.34 cython>=0.29.24" # `--no-deps` is used to only generate the wheel for the current library. Redundant in sqlalchemy since it has no dependencies - pip-wheel-args: "-w ./dist --no-use-pep517 -v --no-deps" + pip-wheel-args: "-w ./dist -v --no-deps" - name: Set up Python uses: actions/setup-python@v2 @@ -278,11 +272,9 @@ jobs: with: # python-versions is the output of the previous step and is in the form <python tag>-<abi tag>. Eg cp37-cp37mu python-versions: ${{ matrix.python-version }} - build-requirements: "setuptools>=44 wheel>=0.34" - # Create the wheel using --no-use-pep517 since locally we have pyproject - # This flag should be removed once sqlalchemy supports pep517 + build-requirements: "setuptools>=47 wheel>=0.34 cython>=0.29.24" # `--no-deps` is used to only generate the wheel for the current library. Redundant in sqlalchemy since it has no dependencies - pip-wheel-args: "-w ./dist --no-use-pep517 -v --no-deps" + pip-wheel-args: "-w ./dist -v --no-deps" - name: Check created wheel # check that the wheel is compatible with the current installation. |
