Skip to content

feat: more hash, sizeof and eq implementations#609

Merged
lars-reimann merged 16 commits intoSafe-DS:mainfrom
WinPlay02:further-hash-sizeof-eq
Apr 10, 2024
Merged

feat: more hash, sizeof and eq implementations#609
lars-reimann merged 16 commits intoSafe-DS:mainfrom
WinPlay02:further-hash-sizeof-eq

Conversation

@WinPlay02
Copy link
Copy Markdown
Contributor

@WinPlay02 WinPlay02 commented Apr 4, 2024

Summary of Changes

  • adds specific hash-implementations to classical classification and regression models
  • use more properties from table transformer to calculate hash
  • add eq to imputer strategies and svm kernels
  • adds general reusable structural hashing infrastructure for future usage

@codecov
Copy link
Copy Markdown

codecov bot commented Apr 4, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 100.00%. Comparing base (8b9c7a9) to head (9f96a8b).

Additional details and impacted files
@@            Coverage Diff             @@
##              main      #609    +/-   ##
==========================================
  Coverage   100.00%   100.00%            
==========================================
  Files           54        56     +2     
  Lines         3323      3493   +170     
==========================================
+ Hits          3323      3493   +170     

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

@WinPlay02
Copy link
Copy Markdown
Contributor Author

@lars-reimann The linter seems broken, it doesn't automatically push anything anymore

@WinPlay02 WinPlay02 marked this pull request as ready for review April 4, 2024 10:35
@WinPlay02 WinPlay02 requested a review from a team as a code owner April 4, 2024 10:35
@lars-reimann
Copy link
Copy Markdown
Member

lars-reimann commented Apr 4, 2024

@lars-reimann The linter seems broken, it doesn't automatically push anything anymore

Some errors cannot be fixed automatically. If there is at least one such error, no commit is created to fix the others. I'll look into whether it can create comments on PRs from forks, though.

@WinPlay02
Copy link
Copy Markdown
Contributor Author

@lars-reimann The linter seems broken, it doesn't automatically push anything anymore

Some errors cannot be fixed automatically. If there is at least one such error, no commit is created to fix the others. I'll look into whether it can create comments on PRs from forks, though.

See this commit: 68c3562 (https://github.com/Safe-DS/Library/actions/runs/8553108748/job/23435588119). No errors are left, and the linter still does not push (although at least 22 fixes could be made). Maybe this is also a problem with the fork.

@lars-reimann
Copy link
Copy Markdown
Member

lars-reimann commented Apr 4, 2024

Maybe this is also a problem with the fork.

Yep, it is. Workflows with the pull_request trigger can be changed by forks, and thus only run with read permissions. There's no secure way to change this, unfortunately.

I've added you to the library team for now, so you have direct write access.

@WinPlay02
Copy link
Copy Markdown
Contributor Author

Everything should be addressed now, I even learned that implementations of methods can be copied from the parent class (for deduplicating __hash__ implementations)

@WinPlay02 WinPlay02 requested review from a team and lars-reimann April 9, 2024 22:48
Copy link
Copy Markdown
Member

@lars-reimann lars-reimann left a comment

Choose a reason for hiding this comment

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

The hash functions are very nice to read now. All looks good.

@lars-reimann lars-reimann merged commit 2bc0b0a into Safe-DS:main Apr 10, 2024
lars-reimann pushed a commit to Safe-DS/Runner that referenced this pull request Apr 16, 2024
### Summary of Changes

- shared memory
- lazy comparisons
- limited memory 
- value removal strategies
- use deterministic seed for hashing

Closes #44

Depends on Safe-DS/Library#609

---------

Co-authored-by: megalinter-bot <129584137+megalinter-bot@users.noreply.github.com>
lars-reimann pushed a commit that referenced this pull request Apr 17, 2024
## [0.21.0](v0.20.0...v0.21.0) (2024-04-17)

### Features

* add ARIMA model ([#577](#577)) ([8b9c7a9](8b9c7a9)), closes [#570](#570)
* Add ImageList class ([#534](#534)) ([3cb74a2](3cb74a2)), closes [#528](#528) [#599](#599) [#600](#600)
* more hash, sizeof and eq implementations ([#609](#609)) ([2bc0b0a](2bc0b0a))

### Performance Improvements

* Add special case to `Table.add_rows` to increase performance ([#608](#608)) ([ffb8304](ffb8304)), closes [#606](#606)
* improve performance of model & forward layer ([#616](#616)) ([e856cd5](e856cd5)), closes [#610](#610)
* lazily import our modules and external libraries ([#624](#624)) ([20fc313](20fc313))
* treat Tables specially when calling add_rows ([#606](#606)) ([e555b85](e555b85)), closes [#575](#575)
@lars-reimann
Copy link
Copy Markdown
Member

🎉 This PR is included in version 0.21.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@lars-reimann lars-reimann added the released Included in a release label Apr 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

released Included in a release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants