Comments (5)
Hey Michael,
I'm investigating Sente but don't want to use core.async (it is not particularly efficient for my workload). Instead, I'd like to use or integrate Meltdown.
Sure - I'll be able to advise better if you could give a little more detail on what you mean by "not particularly efficient for your workload"?
Note that in tests I've run, the network times dominate all others by several orders of magnitude. After that there's the Clojure reader time. Other aspects (incl. core.async) barely register as a rounding error.
I'm not familiar with Meltdown - does it have ClojureScript support?
Note that nothing would stop you from treating core.async as a lib implementation detail server-side and just dumping channel contents into your own stream processing system (I do this myself, but not for performance reasons). This'd be perfectly idiomatic if you wanted Meltdown's API, for example.
Does that help at all? Otherwise pop me some more details and let's go from there :-)
Cheers!
from sente.
I need an in-process message passing library and Reactor is an order of magnitude more efficient than core.async with a fairly small number of channels (say, dozens). Then I need last mile delivery to WebSocket clients. I have other reasons to use Reactor and Meltdown, too.
So, I primarily need to push data to clients (98% of traffic).
from sente.
Reactor is an order of magnitude more efficient than core.async
That may be, but in this context it's analogous to being concerned with how long it takes to answer the doorbell when the postman rings for a package that's been sent by ship from Tanzania :-)
I have other reasons to use Reactor and Meltdown, too.
Sure, that wouldn't be a problem. Server-side I'd just dump content from the channel to your usual pipeline. Like I say, I do this myself - it's perfectly idiomatic.
Note that core.async is being used as an implementation detail behind-the-scenes (notably client-side), so it'd be a dependency either way - but you can basically ignore it server-side once events are delivered.
Does that help? Meltdown looks cool btw :-)
from sente.
It's fine to have core.async on the client — Meltdown cannot be used from ClojureScript — but I don't need it on the server, which is what my question was about.
from sente.
Sure. Okay, so closing - feel free to reopen if you have any follow-up questions later.
from sente.
Related Issues (20)
- Add support for additional client/server adapters
- Client-id is nil in version 1.17.0 HOT 3
- Issue with 1.18.0-RC1 Cljs build HOT 8
- After upgrading to 1.18 event :chsk/uidport-close desn't work HOT 7
- Some dead websocket connections are never cleaned up HOT 27
- Example project browser auto-start exception HOT 1
- Sente 1.19.0 Encore version can cause build issues with shadow-cljs HOT 2
- Logged secrets when :client-id is nil HOT 2
- Websocket failing to communicate after 20 seconds HOT 9
- Complete catalog of client-side events HOT 7
- Ping events subject to wrapping by `wrap-recv-evs`?
- The very first time HOT 4
- Connection was interrupted while the page was loading HOT 24
- Carrier-grade NAT may affect the stability of websocket connections HOT 4
- Trouble transferring large data with Sente
- Ring 1.11 adoption HOT 4
- Undertow adapter error in logs HOT 7
- Possible out-of-order delivery of server->client messages HOT 14
- nodejs: call to undefined addEventListener causing problems HOT 1
- Uberjar failure with direct-linking=true HOT 1
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 sente.