When profiling the GF compiler using ghcs profiler, the majority of time is assigned to Data.Binary.Get.>>=.\, which doesn't make much sense. I belive inserting cost centres into that function is preventing some optimization from happening.
This patch disables automatic cost centres in that specific module, which significantly improves the runtime for the profiled version of the program.
When you're not running gf with stack run --profile or corresponding flags, this patch does nothing.
When profiling the GF compiler using
ghc
s profiler, the majority of time is assigned toData.Binary.Get.>>=.\
, which doesn't make much sense. I belive inserting cost centres into that function is preventing some optimization from happening.This patch disables automatic cost centres in that specific module, which significantly improves the runtime for the profiled version of the program.
When you're not running gf with
stack run --profile
or corresponding flags, this patch does nothing.