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

Throughput comparisons? #16

Open
2opremio opened this issue Dec 20, 2016 · 1 comment
Open

Throughput comparisons? #16

2opremio opened this issue Dec 20, 2016 · 1 comment

Comments

@2opremio
Copy link

2opremio commented Dec 20, 2016

We are being bitten constantly by Golang's GC. Its performance (i.e. throughput) seems to be the culprit. We think that having a non-generational/non-compacting GC is seriously affecting the performance of our application (our app generates a lot of short-lived objects and uses some immutable datastructures).

It would be good to have a confirmation through an independent throughput test.

@spion
Copy link
Owner

spion commented Dec 21, 2016

Hmm, I'm not certain if that would help. The author of wrk2 explains why they chose to measure latency with constant throughput here: https://github.com/giltene/wrk2#acknowledgements

I could generate graphs for several different throughputs, but that would also start measuring general language and runtime library efficiencies (parsing the headers, etc)

But what if in addition to the normal GC work, the program also created N short-lived objects (only for the duration of the request) for some percentage P of requests? That would more accurately mirror what happens in real applications (there are many more temporary objects that get created, not just the long-lived ones). If the GC can't deal with that well, it will also affect the latency...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants