Comments (6)
@venugopv Sure, I'd be happy to provide some benchmarks. What kinds of things are you looking to see?
from reactr.
Hi @cohix , Thanks for quick response. Basically our use case involves many interactions from WASM module (Guest side) to wasm embedder (Host side) to access Host functions (like HTTP functionality. Suborbital::http is exact match to us). Coupling the fact that we would be running 100 of wasm instances in parallel.
So some thing like this: We would be running 100 of instances of similar to Fetch sample (https://github.com/suborbital/reactr/blob/main/rwasm/testdata/fetch/src/lib.rs). From my limited research on CGO, I am under the impression, there would be significant performance penalty. I am interested to know what do you see when you run some thing similar to above (i.e running 100 of instances of similar to Fetch sample ).
from reactr.
@venugopv thanks for the detail. I will spend some time this week creating something to demo performance for your use-case. In the meantime, please do explore the docs and examples and let me know if there is anything missing that I can add!
from reactr.
Alright so I've run some tests locally, and assuming these results are what you're looking for, I'll push the benchmarks to main so you can try it yourself. If this isn't what you're looking for, let me know and I'll do another round.
BenchmarkRunnableFetch-16 10 120235191 ns/op 107026 B/op 257 allocs/op
That benchmark is just http::get
'ing the Google homepage. The ns/op translates to 0.120 seconds/op.
When I do 10 invocations of cURL on the same URL, I get a mean request time of 0.116 seconds.
So average of 120ms per request for Reactr and 116ms per request for cURL. Not a perfect comparison for sure, but it's at least a basic look.
@venugopv Let me know if you'd like to see anything else!
from reactr.
@venugopv Any update here?
from reactr.
Hi @cohix , Thanks very much for your inputs. We have further evaluated on usage of CGO and golang particular, we have decided to embed Webassembly in Rust as it suits more to our use case.
from reactr.
Related Issues (20)
- Update HTTP rule filter tests to use table driven tests
- Undocumented Request API methods HOT 2
- Response API support in all languages
- Response API / set_header support in JavaScript & TypeScript
- Response API / set_header support in Go HOT 2
- Response API / set_header support in Swift
- Response API / set_header support in AssemblyScript
- Response API / set_header support in Grain HOT 2
- GraphQL API support on Swift
- Missing GraphQL API headers support HOT 1
- Static files API support on AssemblyScript
- Dependency Dashboard
- Investigate 300 response behaviour with HTTP Capability Config
- Add SMTP capability HOT 2
- Reactr should complain for missing runnable exports
- CI should use latest `subo:dev` and `builder-{lang}:dev` images
- CI should run builds and tests in parallel
- Add a keys method to the cache API
- SQLite backend for the database API
- Move Reactr docs to this repo
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 reactr.