Skip to content

v0.3.5

Choose a tag to compare

@MejiroRina MejiroRina released this 27 Aug 20:31
· 22 commits to main since this release
ee3ff3d

Releases the GIL in every remaining Python binding, so a Python thread pool can run any mix of cridecoder calls in parallel. Signatures and outputs are unchanged; the only visible difference is that other Python threads keep running during cridecoder calls.

Performance

  • Release the GIL while the Rust core runs in ACB extraction (extract_acb, extract_acb_tracks, extract_acb_bytes, extract_acb_unique_bytes), HCA encoding (encode_hca, encode_hca_bytes), the builders (build_acb, build_acb_bytes, build_music_acb_bytes, build_usm, build_usm_bytes) and USM (extract_usm, extract_usm_bytes, read_usm_metadata). The decode functions already did this since 0.3.4. If Python threads gave you flat scaling before, this release fixes it for these calls. (c81bf7b)

Artifacts

Maintenance
  • Adapt fixed-width loops to the current Clippy. (02ef582)
  • Point the crate's repository and homepage at seiunx-dev/cridecoder. (8da3661)

Full Changelog: v0.3.4...v0.3.5