Comments (6)
This is very interesting. I’m going to see if I can reproduce in https://github.com/patrickt/effects-benchmarks.
from fused-effects.
I don’t think we observed any performance degradation in our internal app, but I could be wrong, and that’s a very different workload.
from fused-effects.
Haven’t observed it in effects-benchmarks
. Going to try the bench
folder here and see if that reveals something. Perhaps INLINE stuff is coming into play, or this is an instance of criterion’s timing issues (we prefer gauge
).
from fused-effects.
Hmm, can’t reproduce this in the benchmark suite either.
With 1.0: https://gist.github.com/patrickt/ac727d6e5ca9ee557c5b6ccb7115e26b
With 1.1: https://gist.github.com/patrickt/7beb3f075b04d3fc15f39b238666bc41
from fused-effects.
Hmm interesting. 'file sizes' and 'reinterpretation' do show the expected improvement. Perhaps 'big stack' and 'countdown' are hitting some edge case that is now slower.
BTW I cleaned up the diff between the 2 branches AlistairB/effect-zoo@removed-eff...fused-1.1
from fused-effects.
Hella cool work @AlistairB, thank you so much for doing this and sharing your results with us!
I’m not seeing a smoking gun here; since this isn’t using any of our carriers that I can see, the only real change seems to be the difference in alg
’s signature between the two versions, which I’d expect to be a net null or even slight win for 1.1 given that we no longer need to (re)construct effects via Effect
(and thus should enjoy fewer allocations overall).
It’s definitely possible that we’re more sensitive to inlining now, or that we’ve underestimated the cost of constructing operations with send
in the new model; hopefully we can quantify where these costs are coming from a little more precisely.
Either way, thank you again!
from fused-effects.
Related Issues (20)
- throwError law is undocumented
- Add Accum effect HOT 4
- Regression with Error in fused effects 1.1 HOT 7
- Carriers should preserve MonadResource HOT 3
- TraceText Effect HOT 3
- MonadBaseControl for Labelled Effects HOT 1
- Add instances of MonadCatch, MonadThrow, MonadMask, where possible? HOT 6
- Indexed error handling HOT 1
- This code for solving prime numbers is about 6 times slower than primes HOT 2
- test suite build failure on Stackage Nightly (GHC 9.0.1) HOT 2
- Why are we slower than mtl? HOT 7
- Difficulty (impossibility?) to wrap `reactive-banana` as effect HOT 2
- Export effect constructors from separate modules
- GHC 9.4.1 compatibility
- Write infodump on how to define algebras
- Accum effect mixed with other effects duplicates accumulated monoidal value HOT 4
- The README makes an unclear statement about visible type applications relating to running effects HOT 1
- Update dependency bounds to support GHC 9.8 HOT 2
- Support ghc 9.10.1 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 fused-effects.