-
Notifications
You must be signed in to change notification settings - Fork 10
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
refactor(identities): improve implementation #120
refactor(identities): improve implementation #120
Conversation
This PR is mostly centered around improving the Identities implementation. Use of std::array replaces std::vector in many instances to avoid dynamic allocation. The result is a ~4x-6x gain in execution speed of relevant functions, and a reduced memory footprint overall. Specifically, this PR does the following: - refactors Identities classes. - adds hash class. - adds curve class. - adds str helpers. - adds base58 class. - moves hex helpers. - updates other classes to match changes. - adds relevant tests. - updates scrips, examples, documentation, and changelog.
codacy incorrectly analyzing header struct member as unused. Not at all the case.
Codecov Report
@@ Coverage Diff @@
## develop #120 +/- ##
===========================================
- Coverage 91.52% 91.49% -0.03%
===========================================
Files 30 34 +4
Lines 861 858 -3
===========================================
- Hits 788 785 -3
Misses 73 73
Continue to review full report at Codecov.
|
Codacy not config'd to watch develop. You can view the current PR at codacy.com/project/sleepdefic1t/cpp-crypto. The majority of the issues are documentation-style related. |
trailing return, comments, naming, etc
remove redundant strlen check.
testname helpers -> utils
…ies)/improve-implementation
this is ready, @faustbrian |
@faustbrian, good to go 👍 |
This PR is mostly centered around improving the Identities implementation.
Use of std::array replaces std::vector in many instances to avoid dynamic allocation. The result is a ~4x-6x gain in execution speed of relevant functions, and a reduced memory footprint overall.
Specifically, this PR does the following:
What kind of change does this PR introduce?
Does this PR introduce a breaking change?
WIF
class is nowWif
, andIdentities
namespace is nowidentities
per C++ code style guidelines.Does this PR release a new version?
The PR fulfills these requirements:
develop
branch, not themaster
branch