-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Conversation
5a7c7fa
to
7303491
Compare
Benchmarks of baseline performance:
Will have a look at what can be optimized now that it's passing all test vectors. |
b9fb187
to
948a75b
Compare
Isn't the |
@holiman Yes, you're right, the only thing that changes every 50 blocks is the program generated from the |
6d6465a
to
6952091
Compare
we only support light verification anyway
I think I've addressed all grumbles. The only unsafe code that is kept is for transmuting from |
There's a test with a bunch of test vectors (shared among implementations) that might take a little while to run. We might want to disable this test on the CI. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me, I agree some tests takes to long for CI (even for my pc) and should be disabled somehow before merging.
ethash/src/compute.rs
Outdated
@@ -40,9 +41,15 @@ pub struct ProofOfWork { | |||
pub mix_hash: H256, | |||
} | |||
|
|||
enum Algorithm { | |||
Hashimoto, | |||
Progpow(CDag), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it make sense to Box CDag
in the Algorithm enum?
It is quite big (16384 bytes), thus it will make the enum Algorithm
as big.
EDIT:
Have seen any regression on Hashimoto
after this change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good idea. No I didn't see any regression in the benchmarks with all the changes I've done so far.
Boxed the cdag inside algorithm and adapted an existing cargo feature to skip the slow progpow test vectors in CI. |
Actually since CI is running the tests with |
they don't take too long when running in release mode which is the case for CI.
Co-Authored-By: andresilva <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm in favor of merging this, good work Andre 👍
optimization(s)
can be fixed in follow-up PRs
I removed the verification that triggered the compile error, it wasn't working in the first place the reason it wasn't being triggered is because the feature flags were using different names. As far as I understand since |
🎉 |
This is a proof-of-concept implementation of progpow, this is still work in progress and I don't intend this to be merged yet.
References: