Releases: denehoffman/rustitude
v0.7.0: It's faster now!
This release includes some major (breaking) changes to the amplitude
API, but the benefit is a speed increase of around 60% according to some benchmarks.
First, we got rid of a few unnecessary allocations which were happening quite a lot inside the main loop. Second, we got rid of a match statement which was also happening multiple times inside that same loop. This theoretically improves branch prediction and maybe even some cache locality, which speeds things up a ton!
Note that the main changes for developers (I figure I'm the only one at this point, but this is for posterity) are that AmpOp
was removed, we can just return Amplitude
s and interact with those. The rest of the breaking changes are a bit behind the curtain, but there are also par_ and regular versions of most of the end-stage computation methods just to allow for profiling without rayon
. This shouldn't change the Python API at all.
rustitude v0.6.0
Style
- add KaTeX header to all docs
New Features (BREAKING)
- implemented norm_int functions and CohSum
This feature is designed to allow for the correct implementation of
normalization integrals. Thanks to Lawrence Ng for pointing this out to
me.
Commit Statistics
- 4 commits contributed to the release over the course of 11 calendar days.
- 11 days passed between releases.
- 2 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
rustitude-gluex v0.4.0
Style
- add KaTeX header to all docs
Commit Statistics
- 3 commits contributed to the release over the course of 11 calendar days.
- 11 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
rustitude-core v2.0.0
Documentation
- finish documentation coverage (not quite full quality, but we can work on that)
- add documentation for almost everything
I haven't documented amplitude.rs yet because it has some fundamental flaws pointed out to me by Lawrence Ng. - finished documenting four_momentum.rs
- shortened some links
- write crate-level documentation
New Features
- added print_tree at CohSum and Model level
- add dataset reading error
- add parity between ROOT and Parquet reading formats
additionally adds the arc_lock feature to parking_lot and removes the Dataset::events method, which clones the whole dataset and might be misused by mistake.
Bug Fixes
- fixed failing docs
- change parameters in Manager.evaluate to be a slice rather than a vector
Style
- add KaTeX header to all docs
New Features (BREAKING)
- implemented norm_int functions and CohSum
This feature is designed to allow for the correct implementation of
normalization integrals. Thanks to Lawrence Ng for pointing this out to
me.
Commit Statistics
- 13 commits contributed to the release over the course of 11 calendar days.
- 11 days passed between releases.
- 12 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Fixed failing docs (d0da6de)
- Finish documentation coverage (not quite full quality, but we can work on that) (b18e3e1)
- Added print_tree at CohSum and Model level (82ae775)
- Implemented norm_int functions and CohSum (a804178)
- Add documentation for almost everything (04b99c3)
- Add dataset reading error (a155903)
- Add parity between ROOT and Parquet reading formats (4145ddc)
- Finished documenting four_momentum.rs (71181fc)
- Shortened some links (b8b46d8)
- Merge branch 'main' of github.com:denehoffman/rustitude (774152a)
- Write crate-level documentation (f337fdb)
- Add KaTeX header to all docs (e93d041)
- Change parameters in Manager.evaluate to be a slice rather than a vector (e018598)
py-rustitude v0.6.0
Chore
- bump python versions
- bump python library version
- bump python library version
Chore
- add description to py-rustitude
New Features
- added print_tree at CohSum and Model level
- add parity between ROOT and Parquet reading formats
additionally adds the arc_lock feature to parking_lot and removes the Dataset::events method, which clones the whole dataset and might be misused by mistake. - additional API so python interactions with managers can actually modify the amplitudes they manage
- add RustitudeError and remove unwraps, error handling should work in python as well
Bug Fixes
- added + and * overload type hints
- register the proper methods for creating new Models and CohSums in PyO3
- add type hint for version
- change parameters in Manager.evaluate to be a slice rather than a vector
- change python crate versioning
- remove unsafe transmutes, they weren't working properly and probably aren't needed anyway
- fix py-rustitude dependencies
- readmes and licenses suck
Refactor
- major move required to have rustitude function properly as a Rust crate. I set this up very wrong the first time
New Features (BREAKING)
- implemented norm_int functions and CohSum
This feature is designed to allow for the correct implementation of
normalization integrals. Thanks to Lawrence Ng for pointing this out to
me.
Commit Statistics
- 25 commits contributed to the release over the course of 20 calendar days.
- 18 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Add description to py-rustitude (1e70cf3)
- Release py-rustitude v0.6.0 (48ae335)
- Bump python versions (ce74dd1)
- Added + and * overload type hints (d3dda39)
- Register the proper methods for creating new Models and CohSums in PyO3 (bc47cf1)
- Added print_tree at CohSum and Model level (82ae775)
- Implemented norm_int functions and CohSum (a804178)
- Add parity between ROOT and Parquet reading formats (4145ddc)
- Merge branch 'main' of github.com:denehoffman/rustitude (774152a)
- Add type hint for version (0a04ca1)
- Change parameters in Manager.evaluate to be a slice rather than a vector (e018598)
- Change python crate versioning (7e07ac9)
- Release py-rustitude v0.4.3 (650568d)
- Release py-rustitude v0.4.3 (85fa50e)
- Release py-rustitude v0.4.3 (573e76a)
- Merge pull request #3 from denehoffman/python_reorg (467caac)
- Additional API so python interactions with managers can actually modify the amplitudes they manage (d2a94a5)
- Remove unsafe transmutes, they weren't working properly and probably aren't needed anyway (dba3b5b)
- Add RustitudeError and remove unwraps, error handling should work in python as well (6955773)
- Move all pyo3 code to the py-rustitude crate (9bcdb46)
- Bump python library version (800db45)
- Fix py-rustitude dependencies (b6c8e24)
- Readmes and licenses suck (174a6f5)
- Bump python library version (9d854af)
- Major move required to have rustitude function properly as a Rust crate. I set this up very wrong the first time (9089c84)
rustitude v0.5.0
New Features
- add RustitudeError and remove unwraps, error handling should work in python as well
- update benchmark and itertools dep, which deprecated group_by -> chunk_by
- make Model::new public to allow for proper benchmarking, and add divan benchmark for basic kmatrix
Bug Fixes
- switch from divan to criterion because I don't trust the threaded benchmarks
- didn't need an extra pyproject.toml
- bump versions
Test
- add convert script and update benchmark to use a standardized test file
Commit Statistics
- 9 commits contributed to the release over the course of 2 calendar days.
- 8 days passed between releases.
- 7 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Bump versions (405ed0c)
- Merge pull request #3 from denehoffman/python_reorg (467caac)
- Add RustitudeError and remove unwraps, error handling should work in python as well (6955773)
- Add convert script and update benchmark to use a standardized test file (a306fc4)
- Merge pull request #2 from denehoffman/create_benchmarks (1297b92)
- Switch from divan to criterion because I don't trust the threaded benchmarks (6a67ab1)
- Didn't need an extra pyproject.toml (36236e5)
- Update benchmark and itertools dep, which deprecated group_by -> chunk_by (b495892)
- Make Model::new public to allow for proper benchmarking, and add divan benchmark for basic kmatrix (8b1eee7)
rustitude-gluex v0.3.0
Bug Fixes
- bump versions
Documentation
- Update README.md
New Features
- add RustitudeError and remove unwraps, error handling should work in python as well
Commit Statistics
- 5 commits contributed to the release.
- 8 days passed between releases.
- 3 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
rustitude-core v1.1.0
Documentation
- Update README.md
New Features
- additional API so python interactions with managers can actually modify the amplitudes they manage
- add RustitudeError and remove unwraps, error handling should work in python as well
- update benchmark and itertools dep, which deprecated group_by -> chunk_by
- make Model::new public to allow for proper benchmarking, and add divan benchmark for basic kmatrix
Bug Fixes
- remove unsafe transmutes, they weren't working properly and probably aren't needed anyway
- pass model and dataset to manager as reference to avoid issues using the model later, might change the way the dataset is cloned in the future
- bump versions
Commit Statistics
- 11 commits contributed to the release over the course of 2 calendar days.
- 8 days passed between releases.
- 8 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Bump versions (405ed0c)
- Update README.md (7867bc0)
- Merge pull request #3 from denehoffman/python_reorg (467caac)
- Additional API so python interactions with managers can actually modify the amplitudes they manage (d2a94a5)
- Remove unsafe transmutes, they weren't working properly and probably aren't needed anyway (dba3b5b)
- Add RustitudeError and remove unwraps, error handling should work in python as well (6955773)
- Move all pyo3 code to the py-rustitude crate (9bcdb46)
- Merge pull request #2 from denehoffman/create_benchmarks (1297b92)
- Update benchmark and itertools dep, which deprecated group_by -> chunk_by (b495892)
- Pass model and dataset to manager as reference to avoid issues using the model later, might change the way the dataset is cloned in the future (14359c9)
- Make Model::new public to allow for proper benchmarking, and add divan benchmark for basic kmatrix (8b1eee7)
rustitude v0.4.3
Refactor
- this is no longer a python crate
Style
- get rid of extra git-files and media
Commit Statistics
- 3 commits contributed to the release.
- 2 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
rustitude-gluex v0.2.2
Bug Fixes
- update amplitudes to account for changes in core
Style
- get rid of extra git-files and media
Commit Statistics
- 3 commits contributed to the release.
- 2 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages