Skip to content

Conversation

@daschl
Copy link
Contributor

@daschl daschl commented Feb 18, 2015

If the first item gets emitted very quickly, the timer will basically
always be fired. If the timeout is very long, then all those subscriptions
will land in the old generation and very expensive to pick up.

This changeset unsubscribes immediately if a subscriber comes along, making
it more likely that the subscription is still in the young gen and quicker
to clean up.

If the first item gets emitted very quickly, the timer will basically
always be fired. If the timeout is very long, then all those subscriptions
will land in the old generation and very expensive to pick up.

This changeset unsubscribes immediately if a subscriber comes along, making
it more likely that the subscription is still in the young gen and quicker
to clean up.
@daschl
Copy link
Contributor Author

daschl commented Feb 18, 2015

@NiteshKant I made this change, because it has severe impact on GC behaviour (here tested with 70s delay). Of course it gets better in general if you reduce it to a few seconds only.

Before:

screen shot 2015-02-18 at 11 08 48

After:

screen shot 2015-02-18 at 11 08 54

@NiteshKant NiteshKant modified the milestones: 0.4.6, 0.4.7 Feb 19, 2015
NiteshKant added a commit that referenced this pull request Feb 19, 2015
Unsubscribe from auto release timeout if a subscriber comes along.
@NiteshKant NiteshKant merged commit 1dd4e45 into ReactiveX:0.x Feb 19, 2015
@NiteshKant
Copy link
Member

Thanks @daschl !

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

Successfully merging this pull request may close these issues.

2 participants