Skip to content

Conversation

@Schamper
Copy link
Member

@Schamper Schamper commented Oct 28, 2024

Experimental branch for playing around with Rust powered modules. With this POC I initially set out to replace the dependencies on the lz4 and python-lzo Python dependencies, and replacing them with a Rust powered extension.

The concept here is that we will use setuptools-rust to build wheels that contain the Rust compiled extension, but we will not change the build system in pyproject.toml. This is to ensure that we will never compile when installing a "source wheel". Instead, we will continue to use tox -e build to build Python-only wheels, and in parallel build Rust wheels with setuptools-rust. The theory here being that on a pip install, the following will happen:

  • On a "blessed" platform (that we build wheels for in our CI), you will automatically enjoy a Rust-powered version
  • On a "incompatible" platform (that we don't build wheels for, e.g. a new Python version), you will install the Python-only wheel and automatically enjoy the Python fallback

Play along at home:

tox -e build-native-inplace

Depends on fox-it/dissect-workflow-templates#44

@codecov
Copy link

codecov bot commented Oct 28, 2024

Codecov Report

Attention: Patch coverage is 0% with 34 lines in your changes missing coverage. Please review.

Project coverage is 0.00%. Comparing base (edbad2c) to head (5fbe874).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
dissect/util/compression/lz4.py 0.00% 13 Missing ⚠️
dissect/util/_build.py 0.00% 10 Missing ⚠️
dissect/util/ts.py 0.00% 6 Missing ⚠️
dissect/util/compression/__init__.py 0.00% 5 Missing ⚠️

❗ There is a different number of reports uploaded between BASE (edbad2c) and HEAD (5fbe874). Click for more details.

HEAD has 7 uploads less than BASE
Flag BASE (edbad2c) HEAD (5fbe874)
unittests 16 9
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #56       +/-   ##
==========================================
- Coverage   87.90%   0.00%   -87.91%     
==========================================
  Files          21      22        +1     
  Lines        1356    1362        +6     
==========================================
- Hits         1192       0     -1192     
- Misses        164    1362     +1198     
Flag Coverage Δ
unittests 0.00% <0.00%> (-87.91%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Schamper Schamper marked this pull request as ready for review October 29, 2024 09:32
@codspeed-hq
Copy link

codspeed-hq bot commented Apr 22, 2025

CodSpeed Performance Report

Merging #56 will not alter performance

Comparing rust-eze (5fbe874) with main (edbad2c)

Summary

✅ 13 untouched benchmarks

@Schamper Schamper force-pushed the rust-eze branch 25 times, most recently from 07e3c6c to fdef9a8 Compare April 22, 2025 11:09
twiggler
twiggler previously approved these changes Jun 16, 2025
@Schamper Schamper requested a review from Miauwkeru June 25, 2025 14:23
Copy link
Contributor

@Miauwkeru Miauwkeru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

once the workflow gets merged in, LGTM

@Schamper Schamper requested a review from Miauwkeru June 25, 2025 14:40
@Schamper Schamper merged commit b302515 into main Jun 25, 2025
32 of 34 checks passed
@Schamper Schamper deleted the rust-eze branch June 25, 2025 14:50
@Schamper Schamper mentioned this pull request Jun 25, 2025
Schamper added a commit to fox-it/dissect that referenced this pull request Jun 26, 2025
They no longer exist and are no longer necessary since fox-it/dissect.util#56
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.

4 participants