Skip to content

Releases: denehoffman/rustitude

v0.7.0: It's faster now!

10 Jun 16:01
de1c057
Compare
Choose a tag to compare

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 Amplitudes 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

05 Jun 06:17
Compare
Choose a tag to compare

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

view details
  • Uncategorized
    • Release rustitude-core v2.0.0 (190918d)
    • Implemented norm_int functions and CohSum (a804178)
    • Merge branch 'main' of github.com:denehoffman/rustitude (774152a)
    • Add KaTeX header to all docs (e93d041)

rustitude-gluex v0.4.0

05 Jun 06:17
Compare
Choose a tag to compare

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

view details
  • Uncategorized
    • Release rustitude-core v2.0.0 (190918d)
    • Merge branch 'main' of github.com:denehoffman/rustitude (774152a)
    • Add KaTeX header to all docs (e93d041)

rustitude-core v2.0.0

05 Jun 06:14
Compare
Choose a tag to compare

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

05 Jun 06:23
Compare
Choose a tag to compare

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

24 May 08:44
Compare
Choose a tag to compare

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

24 May 08:44
Compare
Choose a tag to compare

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

view details
  • Uncategorized
    • Bump versions (405ed0c)
    • Update README.md (45107c4)
    • Merge pull request #3 from denehoffman/python_reorg (467caac)
    • Add RustitudeError and remove unwraps, error handling should work in python as well (6955773)
    • Move all pyo3 code to the py-rustitude crate (9bcdb46)

rustitude-core v1.1.0

24 May 08:44
Compare
Choose a tag to compare

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

16 May 00:20
Compare
Choose a tag to compare

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

view details
  • Uncategorized
    • Release rustitude-gluex v0.2.2, rustitude v0.4.3 (0062542)
    • Get rid of extra git-files and media (0e94ec4)
    • This is no longer a python crate (e4399ef)

rustitude-gluex v0.2.2

16 May 00:20
Compare
Choose a tag to compare

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

Commit Details

view details
  • Uncategorized
    • Release rustitude-gluex v0.2.2, rustitude v0.4.3 (0062542)
    • Get rid of extra git-files and media (0e94ec4)
    • Update amplitudes to account for changes in core (77054e3)