Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

Make a proper and fast impl of the blake2 compression function (F) #11020

Closed
dvdplm opened this issue Sep 3, 2019 · 1 comment
Closed

Make a proper and fast impl of the blake2 compression function (F) #11020

dvdplm opened this issue Sep 3, 2019 · 1 comment
Assignees
Labels
F7-optimisation 💊 An enhancement to provide better overall performance in terms of time-to-completion for a task. M4-core ⛓ Core client code / Rust. P5-sometimesoon 🌲 Issue is worth doing soon. Q3-medium A fair chunk of work, not necessarily very hard but not trivial either

Comments

@dvdplm
Copy link
Collaborator

dvdplm commented Sep 3, 2019

As noted in #11017 we need to refactor the util/eip-152 crate into something more rusty.

Our preference is to use an established blake2 library but none of the ones surveyed expose the compression function in their public API. We can go about this in a few different ways, in order of preference:

  1. make our case with the library maintainers, and if one of them agrees, make a PR that exposes the compression function
  2. fork an established library and make our changes there
  3. lift the existing code for the F function from one of the established libraries and maintain it ourselves
  4. write our own fast implementation, complete with simd support

Included in this task is adding benchmarks to the util/eip-152 crate from #11017 so we can compare before/after.

@dvdplm dvdplm added F7-optimisation 💊 An enhancement to provide better overall performance in terms of time-to-completion for a task. M4-core ⛓ Core client code / Rust. P5-sometimesoon 🌲 Issue is worth doing soon. Q3-medium A fair chunk of work, not necessarily very hard but not trivial either labels Sep 3, 2019
@seunlanlege seunlanlege self-assigned this Sep 15, 2019
@niklasad1
Copy link
Collaborator

niklasad1 commented Oct 16, 2019

@seunlanlege does #11056 close this? Otherwise, please update the issue description w.r.t, what is missing.

@dvdplm dvdplm closed this as completed Oct 16, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
F7-optimisation 💊 An enhancement to provide better overall performance in terms of time-to-completion for a task. M4-core ⛓ Core client code / Rust. P5-sometimesoon 🌲 Issue is worth doing soon. Q3-medium A fair chunk of work, not necessarily very hard but not trivial either
Projects
None yet
Development

No branches or pull requests

3 participants