Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm curious about the general effectiveness of the latest versions of GHC in optimizing single-threaded code. We know of huge gains with the parallelism libraries, but I'm wondering what the consensus is for code that's more inherently sequential.


Performance improvements via the new inliner and the LLVM backend should improve straight line code.

Quite separately, runtime and library performance for some kinds of parallel programs is better.

Both sequential and parallel code got better, for different reasons.


When you say inliner, are you referring to LLVM's inliner or something closer to the front end? I know LLVM's is pretty aggressive as is -- are you able to get benefits from it?


GHC's inliner -- which does lots of algebraic transformations of the Haskell code to make it fast.

That all happens before getting shunted off to LLVM, which in turn does a lot of block-level changes (which particularly affect numeric code).


Are there any references that detail the new inliner?


Only tangentially related: how do you use the LLVM bindings on Windows?




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: