* As usual, I'm going to qualify this with "on one particular benchmark, on one particular machine, with one particular set of following wind".
I've been working on optimisation techniques for the last week, as one chapter of my PhD is likely to be on that topic. The approach I'm using is to take Yhc.Core, optimise it at the Core level, then spit out GHC Haskell which can then be compiled. The optimisation technique I've been working on can best be described as "deforestation on steroids" - its entirely automatic (no notion of special named functions like in foldr/build etc) and isn't too expensive.
The particular benchmark I've been working on is "print . length =<< getContents" or "wc -c". In order to make it a fair comparison, I require that all implementations
Subscribe to:
Post Comments (Atom)
3 comments:
Wow. That's some exciting stuff.
I'm really really eager to see the 'wc -l' results.
> The particular benchmark I've been working on is "print . length =<< getContents" or "wc -l".
"wc -l" should probably be "wc -m" or "wc -c".
Any details on your deforestation technique?
Anon: I did initial results last night, I suspect the results will be GHC takes around 4 times as long as C, mine is the same speed - i.e. mine is 4 times faster.
stefanha: Blogger ate that sentance several times, it was right the first time! No details yet, but once the algorithms etc have settled I'll explain them properly.
Post a Comment