3 ms·
As a very long time Haskell user, I wonder how much latency management would be controlling for the lazy evaluation thunks being evaluated at certain determinis
by SomeHacker44 8y ago
As a very long time Haskell user, I wonder how much latency management would be controlling for the lazy evaluation thunks being evaluated at certain deterministic times.
In my gut I would not choose Haskell for my first choice for a low latency language. I would definitely have looked at Rust before Haskell.
- agumonkey 8y agoOf course, but still, it's interesting to see how far lazy fp can be reasoned about on this topic. I always love optim talks whatever the language (granted its not a clusterfk interpreter).
- CyberDildonics 8y agoHaskell abstracts away order of operations. Both high performance and low latency benefit from the ability to be very specific about as much as possible and Haskell take the opposite approach. This may be good for data flow and throughput, but as soon as you need to control explicit order, state and resource usage Haskell is going to be working against you.
- AnimalMuppet 8y agoIt seems to me that part of high-performance computing is optimizing memory layout (so you can vectorize, and to avoid cache misses). I have a hard time seeing that even in Java; I have a really hard time seeing that in Haskell. Am I missing something?
- marcosdumay 8y agoAs is usual in Haskell for this kind of question, you can theoretically capture the information at the type level, and there are good odds somebody is working in a GHC extension for that. But on practice, I don't think you are missing anything.
- marcosdumay 8y agoThere are people with good results for high throughput Haskell (worse than C, not by much, with code almost as complex as C). But for latency, the GC alone kills it.