Comments (5)
Have a look at https://ghc.haskell.org/trac/ghc/ticket/8972#comment:1. It looks like contended IORef
s scale very poorly. I will try to use the C implementation I gave in that ticket in ekg. Should make things up to orders of magnitude faster.
from ekg.
can't post on trac for some reason right now (the spam filter dislikes me), but related tickets that compliment the unboxed reference idea are https://ghc.haskell.org/trac/ghc/ticket/8157 and https://ghc.haskell.org/trac/ghc/ticket/7883#comment:16
from ekg.
atomicmodifyIORef has a whole busy wait loop structure that probably adds a bunch of overhead too
from ekg.
the fetch-and-add primop exposed in atomic-primops
tends to perform very well (on x86) if you want a slightly simpler solution. Be sure to make your own counter that's padded on it's own cache line
from ekg.
yeah, cacheline width padding is a VERY important detail
from ekg.
Related Issues (20)
- Javascript exception: Cannot read property 'gc' of undefined
- Timestamps overlap sometimes
- Put "Required configuration" in the README HOT 4
- Add wall clock time and CPU time HOT 3
- Fails to build on GHC8 HOT 5
- Don't rethrow ThreadKilled HOT 2
- How to remove the GC metrics? HOT 2
- Add Cabal flag to embed assets with TH HOT 8
- -with-rtsopts=-T results in severe slowdown HOT 3
- README should guide users wrt the ekg eco-system HOT 1
- Build with ghc 8.4 (base-4.11) HOT 4
- Exception in handler sampling all metrics
- How to stop or uninstall this service HOT 1
- Maximum residency wrong? HOT 1
- Build and release with GHC 8.6.x HOT 3
- Add tags support HOT 1
- GHC 8.10 support HOT 3
- Compatibility with GHC 9.0
- Fail to restart monitoring server with the same Store
- Aeson 2 support HOT 3
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 ekg.