-
Notifications
You must be signed in to change notification settings - Fork 8
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
Speed of message distribution? #27
Comments
@lempiji Coming back to this one. Did you run any benchmarks of rx? I really would like to see those... but I'm not sure if I'm knowledgeable enough to come up with a good one. |
OK. I will try to compare the many filtered Observable with the simply switch-case version. However, when looking at usage examples such as rxjs, it is used to handle one kind of event such as click. |
@Robert-M-Muench I wrote a benchmark. The result of a simple method was much slower than expected, so I thought about a faster way. A simple filter-subscribe model is slow, because the number of Observers to put is large. In particular, it is important not to subscribe a lot to one Subject. By the way, though I thought about writing with switch-case, I gave up because it was difficult to generate code. |
Thanks for the benchmark, great stuff to learn RX better. What I want to do with RX is, to use one stream for Windows messages to my app and split them into different streams (like a mouse-click-stream, windows-resize stream, etc.) so that any component subscribes to the messages it's interested in. |
Using the array approach now, which works great. I think this is a generic pattern and might be added/integrated to RX as a new observable type? Maybe something like an observable array/group that uses this approach internally? |
Let's assume I have many steams (500) & observables (10000). The steams filter a couple of external message streams into more specific ones. How does rx scale? Are there are some optimizations to only call the necessary streams/observables that are involved?
I'm wondering where the limit of such a framework is, when it just takes to long to route messages etc. around.
The text was updated successfully, but these errors were encountered: