Hacker News new | ask | show | jobs
by bbcbasic 3982 days ago
He says "Because Haskell code is so high level, it requires aggressive compiler optimizations to perform well."

I think you are basically right. It is easier to make something correct in Haskell, it is easier to make something reasonably fast in Haskell too (generally) but in specific circumstances when you want max performance and care about the assembly or intermediate code output then it becomes easier in a low level language like C to do the performance optimization.

Having said that the 10* effort is an investment if you get a reusable library and will pay off because the rest of your code is in Haskell not C!

1 comments

Great point. His concluding statement aligns with your observation:

"So then why did I use Haskell? To make cover trees 10 times easier for programmers to use."

Default Haskell is certainly not geared toward numeric performance even though it certainly can be with the right libraries.

You might be interested in this if you are interested in high performance numerical Haskell:

https://github.com/wellposed/numerical

Carter claims he can perform optimizations that aren't possible in other languages, though I can't personally speak to them since I'm not well versed in numerical code.

It's not yet in shape for general use, nor for being advocated. There is some tech there that's unique in terms of handing matrix computation on rich formats nicely.

I'd prefer if we reserve advocacy for when i get it to the point where there's public documentation, or at least examples :)

> I'd prefer if we reserve advocacy for when i get it to the point where there's public documentation, or at least examples :)

Very sorry, I'll keep quiet about it until you announce it is ready! :)

thanks, i hope that happens relatively soon, though i've been a bit buried with getting life in order, though thats finally moving along nicely.