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

share a pool of (un)marshallers #38

Merged
merged 6 commits into from
Sep 7, 2018
Merged

share a pool of (un)marshallers #38

merged 6 commits into from
Sep 7, 2018

Commits on Jul 17, 2018

  1. share a pool of (un)marshallers

    Also, use a cloner instead of unmarshalling when wrapping an object.
    Stebalien committed Jul 17, 2018
    Configuration menu
    Copy the full SHA
    6a86324 View commit details
    Browse the repository at this point in the history
  2. add a parallel benchmark

    Increasing `numWorkers` doesn't seem to help at all (not supprising). Really, we
    could probably drop to NumCPUs (instad of 2x that) and we'd still be fine.
    Stebalien committed Jul 17, 2018
    Configuration menu
    Copy the full SHA
    a7e0713 View commit details
    Browse the repository at this point in the history
  3. drop to NumCPU + 1 workers

    More than that doesn't help. +1 helps for the case where a goroutine holding a
    worker gets unscheduled.
    Stebalien committed Jul 17, 2018
    Configuration menu
    Copy the full SHA
    1c730df View commit details
    Browse the repository at this point in the history
  4. use a sync.Pool for the refmt (un)marshallers

    IIRC, pools are cleaned every GC cycle. However, by benchmarks aren't
    actually *faster* with this change so I figured we might as well go for it. Our
    issue here is really throughput, not latency, so even *if* these pools are
    cleaned on GC, it's still useful.
    Stebalien committed Jul 17, 2018
    Configuration menu
    Copy the full SHA
    a5d0fdc View commit details
    Browse the repository at this point in the history
  5. replace SetAtlas method with a constructor

    We don't need to mutate, just replace.
    Stebalien committed Jul 17, 2018
    Configuration menu
    Copy the full SHA
    b76615f View commit details
    Browse the repository at this point in the history

Commits on Sep 7, 2018

  1. fix benchmarks

    Make sure we *actually* serialize/deserialize. Addresses @warpfork's CR.
    Stebalien committed Sep 7, 2018
    Configuration menu
    Copy the full SHA
    59ca950 View commit details
    Browse the repository at this point in the history