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

Refactor #560

Draft
wants to merge 19 commits into
base: main
Choose a base branch
from
Draft

Refactor #560

wants to merge 19 commits into from

Commits on Mar 5, 2024

  1. bufferpool: Switch to zeropool

    This commit switches the bufferpool to use the zeropool implementation
    for sync pools.
    
    The stdlib sync.Pool implementation has an issue where it causes an
    additional heap allocation per Put() call when used with byte slices.
    
    github.com/colega/zeropool package has been specifically designed to
    work around this issue, which reduces GC pressure and improves
    performance.
    
    This also fixes the bufferpool's pkg benchmark to use a new pool per
    test, to avoid other tests influencing the behavior of the benchmark and
    sets it to report the allocations.
    matheusd committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    d2c5fcb View commit details
    Browse the repository at this point in the history

Commits on Mar 14, 2024

  1. message: Fix reuse of first segment

    This fixes the Message's Reset() call to allow reuse of the first
    segment.
    
    Prior to this fix, the first segment was discarded after the first Reset
    call, effectively causing a new segment to be initialized on every Reset
    call.
    
    By reusing the first segment, the number of heap allocations is reduced
    and therefore performance is increased in use cases where the message
    object is reused.
    
    The fix involved associtating the segment to the message and fixing
    checks to ensure the data of the segment is re-allocated after the
    reset.
    
    A benchmark is included to show the current performance of this.
    matheusd committed Mar 14, 2024
    Configuration menu
    Copy the full SHA
    0e572ae View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2024

  1. rpc: Disable flaky test

    Momentarily, while refactoring is going on.
    matheusd committed Mar 22, 2024
    Configuration menu
    Copy the full SHA
    64f1015 View commit details
    Browse the repository at this point in the history
  2. test: Demonstrate test is broken

    This shows that the BenchmarkUnmarshal_Reuse is broken.
    matheusd committed Mar 22, 2024
    Configuration menu
    Copy the full SHA
    29d5cb9 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4bbbafc View commit details
    Browse the repository at this point in the history

Commits on Apr 5, 2024

  1. wip refactor

    matheusd committed Apr 5, 2024
    Configuration menu
    Copy the full SHA
    95a6fbc View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2024

  1. Refactor nextAlloc

    The prior version isn't commented and it's hard to reason about.
    matheusd committed Apr 26, 2024
    Configuration menu
    Copy the full SHA
    4d53867 View commit details
    Browse the repository at this point in the history
  2. Improve captable.release()

    This makes the captable release more efficient, avoid unnecessary
    allocations.
    matheusd committed Apr 26, 2024
    Configuration menu
    Copy the full SHA
    336313b View commit details
    Browse the repository at this point in the history
  3. Reset message in a cleaner way

    This avoids some duffcopy calls and improves perf.
    matheusd committed Apr 26, 2024
    Configuration menu
    Copy the full SHA
    2af3b97 View commit details
    Browse the repository at this point in the history
  4. fixup! Refactor nextAlloc

    matheusd committed Apr 26, 2024
    Configuration menu
    Copy the full SHA
    9f83283 View commit details
    Browse the repository at this point in the history
  5. Add AllocateAsRoot

    matheusd committed Apr 26, 2024
    Configuration menu
    Copy the full SHA
    1651df3 View commit details
    Browse the repository at this point in the history

Commits on May 1, 2024

  1. Configuration menu
    Copy the full SHA
    c93652f View commit details
    Browse the repository at this point in the history

Commits on May 3, 2024

  1. Add UpdateText() version

    matheusd committed May 3, 2024
    Configuration menu
    Copy the full SHA
    bde3071 View commit details
    Browse the repository at this point in the history

Commits on May 6, 2024

  1. experimental: Add TextField

    The TextField is a reference to a specific text field inside a struct.
    It records both the pointer and value locations inside a struct, which
    may be used to fetch or update the underlying value.
    matheusd committed May 6, 2024
    Configuration menu
    Copy the full SHA
    e7d8d6f View commit details
    Browse the repository at this point in the history

Commits on May 16, 2024

  1. wip add get textfield

    matheusd committed May 16, 2024
    Configuration menu
    Copy the full SHA
    082a6b9 View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2024

  1. wip benchmark

    matheusd committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    7c36466 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2024

  1. more wip

    matheusd committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    b1c4a4e View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2024

  1. more bench wip

    matheusd committed Jun 18, 2024
    Configuration menu
    Copy the full SHA
    d8b39cc View commit details
    Browse the repository at this point in the history
  2. more improv

    matheusd committed Jun 18, 2024
    Configuration menu
    Copy the full SHA
    89a28b6 View commit details
    Browse the repository at this point in the history