4 ms·
I'll try to represent Haskell here. 1. Totally, definitely. The new Haskell IO manager in GHC 7.8 completely blows this out of the water. It's wonderful. 2. Y
by tel 12y ago
I'll try to represent Haskell here.
1. Totally, definitely. The new Haskell IO manager in GHC 7.8 completely blows this out of the water. It's wonderful.
2. You fork or async IO procedures which can be considered immutable values in their own right and passed around without the slightest concern. There is a small difficulty in that Haskell's laziness makes it a small trick to ensure that work gets done in the right place, which is undoubtedly a mark against Haskell, though perhaps not a huge one.
3. Things like STM, MVars, and (now) LVish let this happen in all kinds of ways. The only problem might be picking the right option due to the wealth of choices. Fortunately, the right answer is almost always STM.
I'd be more than happy to translate a task to demonstrate these things.
- asdf1234 12y ago> The new Haskell IO manager in GHC 7.8 completely blows this out of the water. Go will still outperform Haskell by a huge margin and the typical Go process will have a much smaller memory footprint. I don't even like Go, but nobody choosing Go is realistically considering Haskell as an alternative.
- platz 12y agoI don't like go either, but I won't believe that a ghc webserver is a fast as a go webserver until we can see it in the techempower benchmarks.
- coolsunglasses 12y agoThe Techempower benchmarks are using the old version of GHC, 7.6, and the Golang devs have been tuning Go's core libraries to win at this specific benchmark.
- fjh 12y ago> The Techempower benchmarks are using the old version of GHC, 7.6 7.4, last time I checked.
- jlouis 12y agoEven then, it is only a factor of 2 slower. That is next to nothing.
- coolsunglasses 12y agoRight, precisely, and this is at a very silly tier of microbenchmarking where you're doing little to no actual work, something you virtually won't ever find in the "real world".
- tel 12y agoI'm not so sure that is true. I'd love to see some benchmarking, though.
- samth 12y agoI encourage you to look a the benchmarks published here: http://haskell.cs.yale.edu/wp-content/uploads/2013/08/hask035-voellmy.pdf http://haskell.cs.yale.edu/wp-content/uploads/2013/08/hask03... which includes Haskell beating nginx and Haskell beating SDN controllers written in C++ and in Java.