Skip to content

Commit

Permalink
chore: Update actions/checkout to v4
Browse files Browse the repository at this point in the history
  • Loading branch information
cauliyang committed Oct 26, 2023
1 parent cf10435 commit d171963
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 65 deletions.
31 changes: 3 additions & 28 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,9 @@ jobs:
MSRV_VERSION: 1.62.0
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
fetch-depth: 1

- name: Install MSRV toolchain
uses: actions-rs/toolchain@v1
Expand All @@ -132,30 +134,3 @@ jobs:
with:
command: test
args: --all --no-fail-fast

Coverage:
needs: Formatting
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1

- name: Install nightly toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true

- name: Install and run cargo-tarpaulin
uses: actions-rs/tarpaulin@v0.1
with:
version: "0.26.0"
args: "--workspace --all-features --run-types Tests,Doctests --out Lcov --timeout 300"

- name: Upload coverage
uses: coverallsapp/github-action@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: ./lcov.info
74 changes: 37 additions & 37 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

# COITrees: Cache Oblivious Interval Trees

COITrees implements a data structure for very fast overlap queries of a
Expand Down Expand Up @@ -29,10 +28,12 @@ remains highly efficient.

# Trying Out

The Minimum Supported Rust Version (MSRV) is 1.62.0.
This is primary a library for use in other programs, but for benchmarking
purposes it includes a program for intersecting BED files.

To try out, just clone this repo and run:

```shell
cargo run --release --example bed-intersect -- test1.bed test2.bed > intersections.bed
```
Expand All @@ -45,51 +46,50 @@ million lines of `B`.

## Intervals in sorted order

| | A vs B | B vs A | A vs A | B' vs B' |
| ----------------------------------- | ---------: | ---------: | -------: | ---------: |
| coitrees AVX | 11.8s | **3.7s** | 0.7 | 5.3s |
| coitrees AVX (`--sorted`) | 6.4s | 4.2s | **0.6s** | **0.5s** |
| coitrees | 11.4s | 5.2s | 0.8s | 8.3s |
| coitrees (`--sorted`) | **5.8s** | 5.4s | **0.6s** | **0.5s** |
| cgranges (`bedcov-cr -c`) | 35.4s | 6.6s | 2.0s | 17.6s |
| AIList | 13.8s | 10.1s | 1.1s | 18.4s |
| CITree | 20.1s | 13.5s | 1.6s | 45.7s |
| NCList | 22.5s | 16.8s | 1.9s | 39.8s |
| AITree | 23.8s | 26.3s | 2.1s | 63.4s |
| `bedtools coverage -counts -sorted` | 257.5s | 295.6s | 71.6s | 2130.9s |
| `bedtools coverage -counts` | 322.4s | 378.5s | 75.0s | 3595.9s |
| | A vs B | B vs A | A vs A | B' vs B' |
| ----------------------------------- | -------: | -------: | -------: | -------: |
| coitrees AVX | 11.8s | **3.7s** | 0.7 | 5.3s |
| coitrees AVX (`--sorted`) | 6.4s | 4.2s | **0.6s** | **0.5s** |
| coitrees | 11.4s | 5.2s | 0.8s | 8.3s |
| coitrees (`--sorted`) | **5.8s** | 5.4s | **0.6s** | **0.5s** |
| cgranges (`bedcov-cr -c`) | 35.4s | 6.6s | 2.0s | 17.6s |
| AIList | 13.8s | 10.1s | 1.1s | 18.4s |
| CITree | 20.1s | 13.5s | 1.6s | 45.7s |
| NCList | 22.5s | 16.8s | 1.9s | 39.8s |
| AITree | 23.8s | 26.3s | 2.1s | 63.4s |
| `bedtools coverage -counts -sorted` | 257.5s | 295.6s | 71.6s | 2130.9s |
| `bedtools coverage -counts` | 322.4s | 378.5s | 75.0s | 3595.9s |

### With coverage

| | A vs B | B vs A | A vs A | B' vs B' |
| ----------------------------------- | ---------: | ---------: | -------: | ---------: |
| coitrees AVX | 18.2s | **4.8s** | 1.1s | 16.0s |
| coitrees | **14.6s** | 5.7s | **1.0s** | **12.0s** |
| cgranges | 38.4s | 8.1s | 2.2s | 31.0s |
| CITree | 23.2s | 25.6s | 2.0s | 160.4s |
| | A vs B | B vs A | A vs A | B' vs B' |
| ------------ | --------: | -------: | -------: | --------: |
| coitrees AVX | 18.2s | **4.8s** | 1.1s | 16.0s |
| coitrees | **14.6s** | 5.7s | **1.0s** | **12.0s** |
| cgranges | 38.4s | 8.1s | 2.2s | 31.0s |
| CITree | 23.2s | 25.6s | 2.0s | 160.4s |

## Intervals in randomized order

| | A vs B | B vs A | A vs A | B' vs B' |
| ----------------------------------- | ---------: | ---------: | -------: | --------: |
| coitrees AVX | **23.9s** | **7.2s** | **1.6s** | **6.1s** |
| coitrees | 24.2s | 8.9s | 1.9s | 9.4s |
| cgranges (`bedcov-cr -c`) | 55.7s | 11.1s | 3.3s | 19.6s |
| AIList | 31.2s | 18.2s | 2.3s | 19.3s |
| CITree | 39.4s | 19.0s | 2.9s | 47.1s |
| NCList | 42.7s | 23.8s | 3.4s | 44.0s |
| AITree | 225.3s | 134.8s | 14.7s | 921.6s |
| `bedtools coverage -counts` | 1160.4s | 849.6s | 104.5s | 9254.6s |
| | A vs B | B vs A | A vs A | B' vs B' |
| --------------------------- | --------: | -------: | -------: | -------: |
| coitrees AVX | **23.9s** | **7.2s** | **1.6s** | **6.1s** |
| coitrees | 24.2s | 8.9s | 1.9s | 9.4s |
| cgranges (`bedcov-cr -c`) | 55.7s | 11.1s | 3.3s | 19.6s |
| AIList | 31.2s | 18.2s | 2.3s | 19.3s |
| CITree | 39.4s | 19.0s | 2.9s | 47.1s |
| NCList | 42.7s | 23.8s | 3.4s | 44.0s |
| AITree | 225.3s | 134.8s | 14.7s | 921.6s |
| `bedtools coverage -counts` | 1160.4s | 849.6s | 104.5s | 9254.6s |

### With coverage

| | A vs B | B vs A | A vs A | B' vs B' |
| ----------------------------------- | ---------: | ---------: | -------: | ---------: |
| coitrees AVX | 34.3s | **8.8s** | **2.2s** | 16.3s |
| coitrees | **29.6s** | 9.7s | 2.3s | **13.1s** |
| cgranges | 57.6s | 12.5s | 3.6s | 32.6s |
| CITree | 50.0s | 32.5s | 3.8s | 170.4s |

| | A vs B | B vs A | A vs A | B' vs B' |
| ------------ | --------: | -------: | -------: | --------: |
| coitrees AVX | 34.3s | **8.8s** | **2.2s** | 16.3s |
| coitrees | **29.6s** | 9.7s | 2.3s | **13.1s** |
| cgranges | 57.6s | 12.5s | 3.6s | 32.6s |
| CITree | 50.0s | 32.5s | 3.8s | 170.4s |

All benchmarks run on a ryzen 5950x.

Expand Down

0 comments on commit d171963

Please sign in to comment.