Comments (3)
@Mapiac aside perf questions, flyd and most.js are slightly different in architecture. most.js is more of an Observable (instantiates new «pipe» for every client, with optional ability to «multiplex»), flyd is an event graph («multiplexed» by default, like an event emitter but with atomicity).
I'm currently working on my own event graph, highly inspired by flyd (here). I'm targeting flyd in perf tests. However, I've never perf against most.js since it's Observable.
Last time I looked into most.js, it's main gimmick was to fusion multiple elements in pipe into one step (which is possible in Observable), function compose + jit might do great perf improvement.
from flyd.
I definitely agree with your assessment @StreetStrider.
Good luck with Fluh 👍
from flyd.
@Mapiac as time goes on, I was inspired to perf against Observable libraries. I was focusing on my library, fluh, and not flyd itself, but since I kinda beat flyd, this still may be informative for you and the others. (And, I think flyd can beat me if it would cache graph, like fluh and because my lib is very similar to flyd in general).
So, my results is that most.js is best in deep-linear scenario (100 consecutive stream items or event graph nodes) and in shortcut scenario (filtering out elements in the middle of the chain). This is expectable because of the fusion. flyd is also good in shortcut, my library is the second. Observable libraries are not good in triangle scenario, event graph libraries are OK in that, my library is the best. RxJS is kinda slow in general. most.js is really fast, but it consumes a lot of memory in comparison to other libraries. I still don't know how much, but I was forced to high --max-old-space-size
because of the most.js. Either, it would crash node where any other library pass smoothly.
Eventually I will measure memory consumption, that would be interesting. I was looking for leaks in my code and it seemes that memory consumption is low and stable. But event graph is still an overhead and it is irreducible overhead in comparison to plain code.
I think in future it would be nice to have a language where FRP is a core feature and it is managed by the smart compiler which is able to reduce it to plain code.
from flyd.
Related Issues (20)
- add more dependency for existing combine HOT 7
- Merge stream delay HOT 6
- add package.module
- Drag 'n Drop example is broken HOT 2
- Compare previous state with current state HOT 14
- Feature Request - Supply metadata for a combined stream HOT 2
- Help to build control flow func HOT 3
- Do you think this Promise -> Stream conversion is a right alternative way? HOT 6
- Wrong chain + setImmediate behavior HOT 1
- Can flyd streams be made lazy ? HOT 9
- HELP: Trouble reading api documentation HOT 1
- Enhancement: Add Readonly-Streams (at least in Typings) HOT 3
- What's the motivation for ending a stream? HOT 3
- question on serialize stream
- from Node stream HOT 2
- Question: Required (code) complexity for higher-order streams HOT 10
- Support multiple operators for Pipe HOT 4
- [Help Needed] CombineLatest in the style of RxJs HOT 17
- Switch Latest without Ramda Dependency HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flyd.