3 ms·
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 librari
by partition 16y ago
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.
- dons 16y agoPerformance 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.
- bigmac 16y agoWhen 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?
- dons 16y agoGHC'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).
- mainland 16y agoAre there any references that detail the new inliner?
- jules 16y agoOnly tangentially related: how do you use the LLVM bindings on Windows?