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

Merge with max concurrency now supports backpressure. #2540

Merged
merged 2 commits into from
Jan 29, 2015

Conversation

akarnokd
Copy link
Member

See #2291

@akarnokd
Copy link
Member Author

I can't be sure, but probably the first Travis CI build timed out because the test used too many threads.

@benjchristensen
Copy link
Member

Thanks for tackling this. Do you think it's better to keep this separate or to have a single merge implementation? I was leaning towards having a single impl since merge is so hard to get right, and all the perf and backpressure aspects are needed for both.

@akarnokd
Copy link
Member Author

I would have to combine merge, mergeDelayError and mergeMaxConcurrent. Adding error delaying to mmc shouldn't be difficult, but applying the scalar-synchronous-value optimization as well is quite difficult. I'd say let's have them separate for now.

@benjchristensen
Copy link
Member

Keeping them separate means we'll be doing bug fixes and optimizations separately on each of them, and performance will be misleadingly different for each. I suggest that if we do merge this it is only a short-term thing.

mergeDelayError has already been moved into the merge implementation. I did that a while back. So it's just the concurrency limit that needs to be moved.

@akarnokd
Copy link
Member Author

It would be great if my other merge PR gets verified so I can base the joint operator on something that's actually working for others.

@akarnokd
Copy link
Member Author

I'm merging this for now as combining the two is difficult and I don't want to hold 1.0.5 release back. From then on, a single implementation would be just an internal affair.

akarnokd added a commit that referenced this pull request Jan 29, 2015
Merge with max concurrency now supports backpressure.
@akarnokd akarnokd merged commit 6a55738 into ReactiveX:1.x Jan 29, 2015
@akarnokd akarnokd deleted the MergeMaxConcurrentBackpressure branch January 29, 2015 09:59
@benjchristensen
Copy link
Member

Agreed.

@benjchristensen benjchristensen mentioned this pull request Feb 3, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants