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

UnicastContentSubject GC issues #312

Closed
daschl opened this issue Jan 15, 2015 · 4 comments
Closed

UnicastContentSubject GC issues #312

daschl opened this issue Jan 15, 2015 · 4 comments
Milestone

Comments

@daschl
Copy link
Contributor

daschl commented Jan 15, 2015

In addition to the other issues, it looks like there is a big issue in terms of GC and/or a leak. Here is a comparison to the same code running (load against a Couchbase cluster). AsyncSubject vs UnicastContentSubject. Btw I expected a little bit more GC since more stuff is done, but this drastic difference seems weird (note the 2s vs 50s gc pause time in a 3 min run).

For some context: that comes from 10k ops/s by fetching docs from the server. But in this test its against nonexistent keys, so the buffers are empty.. just wanted a baseline :)

AsyncSubject

screen shot 2015-01-15 at 15 12 02

screen shot 2015-01-15 at 15 12 15

UnicastContentSubject

screen shot 2015-01-15 at 15 13 21

screen shot 2015-01-15 at 15 13 31

@daschl
Copy link
Contributor Author

daschl commented Jan 15, 2015

I've been playing around a bit with timings and it seems that a much shorter timeout doesn't have as much impact as longer ones. This indicates to me that it's because the timers are getting moved out of the young gen making them more costly to be cleaned up.

Any idea how we can work around this to some degree?

@daschl
Copy link
Contributor Author

daschl commented Jan 15, 2015

@NiteshKant @benjchristensen one thing I found as a potential improvement is to only schedule the call when one is still actually unsubscribed. Because currently the disposeIfNotSubscribed() is still called even if one is already subscribed, paying the penalty there too.

want me to submit a PR for this as well?

@daschl
Copy link
Contributor Author

daschl commented Jan 15, 2015

#313 related.

@NiteshKant
Copy link
Member

0.5.x has no UnicastContentSubject and no unnecessary buffering of data.

@NiteshKant NiteshKant added this to the 0.5.0 milestone May 29, 2015
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