feat: add Swift implementation of isspam (sisspam) with CI build and benchmark integration

- Add swift_isspam package with optimized main.swift using unsafe memory flags
- Extend CI workflow to install Swift 5.9.2 and include sisspam in build_all and benchmark
- Update Makefile with build_swift target and publish step for sisspam binary
- Add sisspam to .gitignore and README with author credit
- Enable Swift timing in bench.py alongside existing language implementations
This commit is contained in:
2026-02-03 01:24:34 +00:00
parent 39c9bfb36f
commit 2f0d088beb
7 changed files with 264 additions and 7 deletions
+9 -3
View File
@@ -7,13 +7,19 @@ jobs:
runs-on: ubuntu-latest
steps:
- run: apt update
- run: apt install build-essential valgrind make curl -y
- run: apt install build-essential valgrind make curl wget libcurl4-openssl-dev libxml2-dev binutils libc6-dev libgcc-s1 libstdc++6 zlib1g-dev -y
- run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain nightly -y
- name: Install Swift
run: |
cd /opt
wget -q https://download.swift.org/swift-5.9.2-release/ubuntu2204/swift-5.9.2-RELEASE/swift-5.9.2-RELEASE-ubuntu22.04.tar.gz
tar xzf swift-5.9.2-RELEASE-ubuntu22.04.tar.gz
ln -s /opt/swift-5.9.2-RELEASE-ubuntu22.04/usr/bin/swift /usr/local/bin/swift
- name: Check out repository code
uses: actions/checkout@v4
- name: List files in the repository
run: |
ls ${{ gitea.workspace }}
- run: export PATH=$HOME/.cargo/bin:$PATH && make build_all
- run: export PATH=$HOME/.cargo/bin:$PATH && make benchmark
- run: export PATH=$HOME/.cargo/bin:/opt/swift-5.9.2-RELEASE-ubuntu22.04/usr/bin:$PATH && make build_all
- run: export PATH=$HOME/.cargo/bin:/opt/swift-5.9.2-RELEASE-ubuntu22.04/usr/bin:$PATH && make benchmark
- run: make publish