-
Notifications
You must be signed in to change notification settings - Fork 2k
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
cache VDF validation results (per process) #3110
Conversation
2472d42
to
6cdf18a
Compare
6cdf18a
to
58a4163
Compare
|
||
@lru_cache(maxsize=20) | ||
def get_discriminant(challenge, size_bites) -> int: |
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.
s/bites/bytes/
:)
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.
Types for the arguments? 🥇
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.
Maybe a bigger size too?
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.
heh, I think you wrote this code :)
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.
Seems okay to me
* Added new issue templates (#3033) * added new issue templates for support and requestes * spelling is hard... * Add lock, keep cache consistent (#3051) * execute task decorator * use blockchain lock * indentation * lint * execute_task * Ms.empty blocks3 (#3064) * Fix empty blocks * Remove error log * Missing imports * .header_hash instead of .prev_hash in simulator * Fix typo (#3069) * Use secure coin ids (#3095) * Add announcements for standard tx (#3023) * changed bahviour of wallet and wallet tools for standard solutions * black formatting wallet_tools * added a test for hypothetical stolen zero_output coin * swap to sha256 from sha256tree for message * fix wallet_tools version, address lint issues * correctly int_from_bytes * fix uninstantiated key in dict * Comment out broken test * Fix types (used SerializedProgram) Co-authored-by: Mariano <sorgente711@gmail.com> * cache VDF validation results (per process) (#3110) Co-authored-by: J Eckert <sargonas@users.noreply.github.com> Co-authored-by: Yostra <straya@chia.net> Co-authored-by: Mariano Sorgente <3069354+mariano54@users.noreply.github.com> Co-authored-by: Antonio Borrero Granell <me@antoniobg.com> Co-authored-by: matt-o-how <48453825+matt-o-how@users.noreply.github.com> Co-authored-by: Mariano <sorgente711@gmail.com> Co-authored-by: Arvid Norberg <arvid@libtorrent.org>
* Added new issue templates (#3033) * added new issue templates for support and requestes * spelling is hard... * Add lock, keep cache consistent (#3051) * execute task decorator * use blockchain lock * indentation * lint * execute_task * Ms.empty blocks3 (#3064) * Fix empty blocks * Remove error log * Missing imports * .header_hash instead of .prev_hash in simulator * Fix typo (#3069) * Use secure coin ids (#3095) * Add announcements for standard tx (#3023) * changed bahviour of wallet and wallet tools for standard solutions * black formatting wallet_tools * added a test for hypothetical stolen zero_output coin * swap to sha256 from sha256tree for message * fix wallet_tools version, address lint issues * correctly int_from_bytes * fix uninstantiated key in dict * Comment out broken test * Fix types (used SerializedProgram) Co-authored-by: Mariano <sorgente711@gmail.com> * cache VDF validation results (per process) (#3110) * Update GUI for plot refresh issue (#3135) Co-authored-by: Adam Kelly <aqk@aqk.im> Co-authored-by: J Eckert <sargonas@users.noreply.github.com> Co-authored-by: Yostra <straya@chia.net> Co-authored-by: Mariano Sorgente <3069354+mariano54@users.noreply.github.com> Co-authored-by: Antonio Borrero Granell <me@antoniobg.com> Co-authored-by: matt-o-how <48453825+matt-o-how@users.noreply.github.com> Co-authored-by: Mariano <sorgente711@gmail.com> Co-authored-by: Arvid Norberg <arvid@libtorrent.org> Co-authored-by: Adam Kelly <338792+aqk@users.noreply.github.com> Co-authored-by: Adam Kelly <aqk@aqk.im>
* Added new issue templates (#3033) * added new issue templates for support and requestes * spelling is hard... * Add lock, keep cache consistent (#3051) * execute task decorator * use blockchain lock * indentation * lint * execute_task * Ms.empty blocks3 (#3064) * Fix empty blocks * Remove error log * Missing imports * .header_hash instead of .prev_hash in simulator * Fix typo (#3069) * Use secure coin ids (#3095) * Add announcements for standard tx (#3023) * changed bahviour of wallet and wallet tools for standard solutions * black formatting wallet_tools * added a test for hypothetical stolen zero_output coin * swap to sha256 from sha256tree for message * fix wallet_tools version, address lint issues * correctly int_from_bytes * fix uninstantiated key in dict * Comment out broken test * Fix types (used SerializedProgram) Co-authored-by: Mariano <sorgente711@gmail.com> * cache VDF validation results (per process) (#3110) * Update GUI for plot refresh issue (#3135) Co-authored-by: Adam Kelly <aqk@aqk.im> * remove commit and not needed query (#3148) * Copyright 2021 Chia Network in LICENSE (#3153) * just filter limit (#3152) Co-authored-by: J Eckert <sargonas@users.noreply.github.com> Co-authored-by: Yostra <straya@chia.net> Co-authored-by: Mariano Sorgente <3069354+mariano54@users.noreply.github.com> Co-authored-by: Antonio Borrero Granell <me@antoniobg.com> Co-authored-by: matt-o-how <48453825+matt-o-how@users.noreply.github.com> Co-authored-by: Mariano <sorgente711@gmail.com> Co-authored-by: Arvid Norberg <arvid@libtorrent.org> Co-authored-by: Adam Kelly <338792+aqk@users.noreply.github.com> Co-authored-by: Adam Kelly <aqk@aqk.im> Co-authored-by: Kyle Altendorf <sda@fstab.net>
* Added new issue templates (#3033) * added new issue templates for support and requestes * spelling is hard... * Add lock, keep cache consistent (#3051) * execute task decorator * use blockchain lock * indentation * lint * execute_task * Ms.empty blocks3 (#3064) * Fix empty blocks * Remove error log * Missing imports * .header_hash instead of .prev_hash in simulator * Fix typo (#3069) * Use secure coin ids (#3095) * Add announcements for standard tx (#3023) * changed bahviour of wallet and wallet tools for standard solutions * black formatting wallet_tools * added a test for hypothetical stolen zero_output coin * swap to sha256 from sha256tree for message * fix wallet_tools version, address lint issues * correctly int_from_bytes * fix uninstantiated key in dict * Comment out broken test * Fix types (used SerializedProgram) Co-authored-by: Mariano <sorgente711@gmail.com> * cache VDF validation results (per process) (#3110) * Update GUI for plot refresh issue (#3135) Co-authored-by: Adam Kelly <aqk@aqk.im> * remove commit and not needed query (#3148) * Copyright 2021 Chia Network in LICENSE (#3153) * just filter limit (#3152) * fix plot dupe (#3154) * increase ratio (#3155) * wait to end of process to avoid zombies (#3160) * fix takes 1 positional argument but 2 were given (#3202) * Update CLI tools to use EiB when appropriate. (#3117) * Improve streamable (#3031) * Avoid importing `test_constants` as it takes a long time. * Factor out `parse_*` functions. * First crack at refactoring `Streamable.parse`. * Don't add `_parse_functions` attribute to `Streamable`. This no longer requires an extra `_parse_functions` attribute on a `Streamable`, as it may be confusing serializers or other functions that use `__annotations__`. * Fix lint problems with `black`. * Fix `parse_tuple`. * Defer some parsing failures to parse time rather than class-creation time. * Tidy up & remove some obsolete stuff. * Decorate `RequestBlocks` as `streamable`. * Fix wrong uses of Streamable class Revert an earlier commit and error out on class creation in case a Streamable subclass is instantiated incorrectly, e.g. containing a non-serializable member. Fix cases where Streamable parent class was forgotten. * Fix wrong types when creating DerivationRecord and WalletCoinRecord * additional unit tests for streamable parsers * add type annotations (#3222) Co-authored-by: Rostislav <rostislav@users.noreply.github.com> Co-authored-by: arvidn <arvid@libtorrent.org> * Tests skipping mempool (#3065) * Avoid importing `test_constants` as it takes a long time. * Some new tests that circumvents mempool. * Fix lint problems. Co-authored-by: J Eckert <sargonas@users.noreply.github.com> Co-authored-by: Yostra <straya@chia.net> Co-authored-by: Mariano Sorgente <3069354+mariano54@users.noreply.github.com> Co-authored-by: Antonio Borrero Granell <me@antoniobg.com> Co-authored-by: matt-o-how <48453825+matt-o-how@users.noreply.github.com> Co-authored-by: Mariano <sorgente711@gmail.com> Co-authored-by: Arvid Norberg <arvid@libtorrent.org> Co-authored-by: Adam Kelly <338792+aqk@users.noreply.github.com> Co-authored-by: Adam Kelly <aqk@aqk.im> Co-authored-by: Kyle Altendorf <sda@fstab.net> Co-authored-by: Joel <34619326+joelcho@users.noreply.github.com> Co-authored-by: Gene Hoffman <30377676+hoffmang9@users.noreply.github.com> Co-authored-by: Richard Kiss <him@richardkiss.com> Co-authored-by: Rostislav <rostislav@users.noreply.github.com>
This isn't as effective as it may look since the complete block validation is done in a
ProcessPoolExecutor
, which means each process will have its own cache (presumably). We still check these multiple times in the main thread too though