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

perf: split lengthy fn(s) to improve concurrency #187

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Commits on Sep 22, 2024

  1. perf: split lengthy fn(s) to improve concurrency

    Primary changes are:
     1. splits lengthy &mut self methods into read-only &self
        method(s) and faster &mut self method(s).  This makes
        these methods more concurrency friendly.
    
     2. provides original functionality with methods that have
        _atomic() suffix.  These take &mut self and call both
        the &self and &mut self methods.
    
     3. Adds ScopeDurationLogger to easily enable logging of
        slow methods.  by default "slow" means > 0.1 seconds.
    
    Details:
     * log genesis block digest
     * rename GlobalState::set_new_tip() -> set_new_tip_atomic()
     * impl ScopeDurationLogger and use it to log method durations
     * split WalletState::update_wallet_state_with_new_block()
     * split ArchivalState::update_mutator_set()
     * add experimental GlobalStateLock::set_new_tip_concurrent()
        (not used)
     * split GlobalState::resync_membership_proofs()
     * remove duration_* macros
     * add fn_name, fn_name_bare macros
    dan-da committed Sep 22, 2024
    Configuration menu
    Copy the full SHA
    b24390c View commit details
    Browse the repository at this point in the history