Skip to content

👷 Setup GitHub Actions CI with codspeed benchmarking#2

Merged
weiji14 merged 5 commits intomainfrom
ci
Nov 10, 2025
Merged

👷 Setup GitHub Actions CI with codspeed benchmarking#2
weiji14 merged 5 commits intomainfrom
ci

Conversation

@weiji14
Copy link
Copy Markdown
Owner

@weiji14 weiji14 commented Nov 10, 2025

Running benchmarks on Ubuntu-24.04 and Rust 1.85.0 and current stable (1.91.0). Benchmarks will be logged to codspeed.

References:

Running tests on Ubuntu-24.04 and Rust 1.85.0 and current stable (1.91.0).
@weiji14 weiji14 self-assigned this Nov 10, 2025
So that `cargo build` works
@weiji14 weiji14 changed the title 👷 Setup GitHub Actions Continuous Integration 👷 Setup GitHub Actions CI with codspeed benchmarking Nov 10, 2025
Can't be too empty. Also renamed ci.yml to bench.yml and explicitly set mode: instrumentation on CodSpeedHQ/action.
@codspeed-hq
Copy link
Copy Markdown

codspeed-hq bot commented Nov 10, 2025

CodSpeed Performance Report

⚠️ No benchmarks found
Please ensure that your benchmarks are correctly instrumented with CodSpeed.

Check out the benchmarks creation guide

@weiji14 weiji14 merged commit a12d7d9 into main Nov 10, 2025
2 of 3 checks passed
@weiji14 weiji14 deleted the ci branch November 10, 2025 02:10
weiji14 added a commit to developmentseed/async-tiff that referenced this pull request Nov 22, 2025
weiji14 added a commit to developmentseed/async-tiff that referenced this pull request Jan 26, 2026
* Benchmark code for reading sample Sentinel-2 TCI file

Adapted from weiji14/foss4g2025#3

* ci: Setup benchmark CI running cargo-codspeed

Xref weiji14/foss4g2025#2

* Set id-token: write permissions for OIDC auth

Xref https://codspeed.io/changelog/2025-11-19-simpler-authentication-with-oidc. Also change from the deprecated 'instrumentation' mode to 'simulation'

* Change dbg! of x/y IFD counts to assert_eq!

* Refactor to used ReadaheadMetadataCache instead of PrefetchBuffer

* Split read_tiff into open_tiff and decode_tiff functions

While making decode_tiff generic over readers that implement AsyncFileReader trait.

* Add note on why returned bytes is 363528192

It is because we have 1849 tiles of 196608 bytes (3*256*256) each, there is extra padding added to the tiled TIFF.

* Carve out async read_tiles function

That encompasses the async block where all tiles are fetched and read.

* Refactor to separate async network fetch from multi-threaded decoding

Make open_tiff the async part that does async fetching of compressed tiles, and decode_tiff being the multi-threaded part that does tile decompression to actual values.

* Try decoding to Array instead of u8

After #165, but doesn't quite work for edge tiles due to a bug.

* Update to check tile_array and tile_bytes length properly

---------

Co-authored-by: Kyle Barron <kyle@developmentseed.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant