Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build(deps): bump borsh from 0.10.3 to 1.0.0 #259

Closed
wants to merge 1 commit into from

Conversation

dependabot[bot]
Copy link

@dependabot dependabot bot commented on behalf of github Oct 9, 2023

Bumps borsh from 0.10.3 to 1.0.0.

Release notes

Sourced from borsh's releases.

borsh-derive-v1.0.0

No release notes provided.

borsh-v1.0.0

The year is 2653 and the best yet-to-be citizens of the Terran Federation are fighting and mostly just dying in a relentless interstellar war against the Arachnids. Yet the structure of our society has changed through the course of this confrontation.

The members of the Arachnid brain caste and queens have infiltrated the circles of our most influential political and industrial leaders. Either directly, or via the Arachnid technology called "Brain Bugs". This tech alone can accomplish what the Arachnid starship paratroopers will not ever be capable to do.

Simple, straightforward and performant serialization libraries can set us in course to remedy this dangerous stalemate situation by cleaning the minds of its users from even the tiniest of Brain Bugs.

Robert A. Heinlein, 1959 (a newspaper ad)

[Thanks]

borsh-rs 1.0.0 release was first conceived and then brought into existence by minds of:

Contributors, who imposed powerful impact on the past, present and future of this library are specially recognized:

  • Michal Nazarewicz @​mina86 - for revisiting BorshSchema feature, rethinking it, bringing up great ideas and coming up with the fairly involved algorithm of max_serialized_size implementation.
  • Alex Kladov @​matklad - for maintaining a superhuman ability of context switching in under 2 minutes and scanning through 15k lines of code in under 10 minutes, while leaving out under 1% relevant details.
  • Marco Ieni @​MarcoIeni - for developing release-plz automation.
  • Vlad Frolov @​frol - for keeping an eye on the big picture and striking just the right balance between performance and versatility, ease of use and extensibility and tons of other such hard to reconcile pairs.

[Migration guides]

This section contains links to short documents, describing problems encountered during update of borsh version to v1.0.0 for related repositories.

[Summary of changes]

... (truncated)

Changelog

Sourced from borsh's changelog.

1.0.0 - 2023-10-03

The year is 2653 and the best yet-to-be citizens of the Terran Federation are fighting and mostly just dying in a relentless interstellar war against the Arachnids. Yet the structure of our society has changed through the course of this confrontation.

The members of the Arachnid brain caste and queens have infiltrated the circles of our most influential political and industrial leaders. Either directly, or via the Arachnid technology called "Brain Bugs". This tech alone can accomplish what the Arachnid starship paratroopers will not ever be capable to do.

Simple, straightforward and performant serialization libraries can set us in course to remedy this dangerous stalemate situation by cleaning the minds of its users from even the tiniest of Brain Bugs.

Robert A. Heinlein, 1959 (a newspaper ad)

[Thanks]

borsh-rs 1.0.0 release was first conceived and then brought into existence by minds of:

Contributors, who imposed powerful impact on the past, present and future of this library are specially recognized:

  • Michal Nazarewicz @​mina86 - for revisiting BorshSchema feature, rethinking it, bringing up great ideas and coming up with the fairly involved algorithm of max_serialized_size implementation.
  • Alex Kladov @​matklad - for maintaining a superhuman ability of context switching in under 2 minutes and scanning through 15k lines of code in under 10 minutes, while leaving out under 1% relevant details.
  • Marco Ieni @​MarcoIeni - for developing release-plz automation.
  • Vlad Frolov @​frol - for keeping an eye on the big picture and striking just the right balance between performance and versatility, ease of use and extensibility and tons of other such hard to reconcile pairs.

[Migration guides]

This section contains links to short documents, describing problems encountered during update of borsh version to v1.0.0 for related repositories.

[Summary of changes]

  • Library's structure was made more modular and optimized with respect to visibility

... (truncated)

Commits
  • 6e7fc28 chore: release 1.0.0 (#240)
  • 773827c doc: nearcore migration guide to 1.0.0 (#198)
  • 031230d doc: near-sdk-rs migration guide to 1.0.0 (#201)
  • 75d91ec chore: release (#239)
  • 079c278 doc: add examples for borsh::to_vec, borsh::to_writer, `borsh::object_len...
  • 57f9c25 chore!: completely remove deprecated BorshSerialize::try_to_vec (#221)
  • bb5248e feat: add borsh::object_length helper (#236)
  • d2c63ac chore: release (#217)
  • 63cf36d chore!: rename "Tuple\<T0, T1, T2...>" -> "(T0, T1, T2...)" (`schema::Decl...
  • 499f446 chore!: rename "nil" -> "()", "string" -> "String", "nonzero_u16" -...
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Oct 9, 2023
@dependabot dependabot bot force-pushed the dependabot/cargo/borsh-1.0.0 branch from 1fabae5 to 93d4aed Compare October 9, 2023 21:21
Bumps [borsh](https://github.com/near/borsh-rs) from 0.10.3 to 1.0.0.
- [Release notes](https://github.com/near/borsh-rs/releases)
- [Changelog](https://github.com/near/borsh-rs/blob/master/CHANGELOG.md)
- [Commits](near/borsh-rs@borsh-v0.10.3...borsh-v1.0.0)

---
updated-dependencies:
- dependency-name: borsh
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot force-pushed the dependabot/cargo/borsh-1.0.0 branch from 93d4aed to 8a1a81e Compare October 12, 2023 23:24
@dependabot @github
Copy link
Author

dependabot bot commented on behalf of github Oct 16, 2023

Superseded by #269.

@dependabot dependabot bot closed this Oct 16, 2023
@dependabot dependabot bot deleted the dependabot/cargo/borsh-1.0.0 branch October 16, 2023 08:59
pgarg66 pushed a commit that referenced this pull request Apr 8, 2024
This is port of firedancer's implementation of weighted shuffle:
https://github.com/firedancer-io/firedancer/blob/3401bfc26/src/ballet/wsample/fd_wsample.c

anza-xyz#185
implemented weighted shuffle using binary tree. Though asymptotically a
binary tree has better performance, compared to a Fenwick tree, it has
less cache locality resulting in smaller improvements and in particular
slower WeightedShuffle::new.

In order to improve cache locality and reduce the overheads of
traversing the tree, this commit instead uses a generalized N-ary tree
with fanout of 16, showing significant improvements in both
WeightedShuffle::new and WeightedShuffle::shuffle.

With 4000 weights:

N-ary tree (fanout 16):

    test bench_weighted_shuffle_new     ... bench:      36,244 ns/iter (+/- 243)
    test bench_weighted_shuffle_shuffle ... bench:     149,082 ns/iter (+/- 1,474)

Binary tree:

    test bench_weighted_shuffle_new     ... bench:      58,514 ns/iter (+/- 229)
    test bench_weighted_shuffle_shuffle ... bench:     269,961 ns/iter (+/- 16,446)

Fenwick tree:

    test bench_weighted_shuffle_new     ... bench:      39,413 ns/iter (+/- 179)
    test bench_weighted_shuffle_shuffle ... bench:     364,771 ns/iter (+/- 2,078)

The improvements become even more significant as there are more items to
shuffle. With 20_000 weights:

N-ary tree (fanout 16):

    test bench_weighted_shuffle_new     ... bench:     200,659 ns/iter (+/- 4,395)
    test bench_weighted_shuffle_shuffle ... bench:     941,928 ns/iter (+/- 26,492)

Binary tree:

    test bench_weighted_shuffle_new     ... bench:     881,114 ns/iter (+/- 12,343)
    test bench_weighted_shuffle_shuffle ... bench:   1,822,257 ns/iter (+/- 12,772)

Fenwick tree:

    test bench_weighted_shuffle_new     ... bench:     276,936 ns/iter (+/- 14,692)
    test bench_weighted_shuffle_shuffle ... bench:   2,644,713 ns/iter (+/- 49,252)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants