Skip to main content

IOG GHC Update #21

ยท 2 min read

Triweekly update from the GHC DevX team at IOG.

Previous updates can be found here.

Performanceโ€‹

Josh: worked on a tool to benchmark various configurations of tools in the Haskell ecosystem. This tool is intented to track performance changes over time - originally motivated by a regression experienced by another team at IOG between GHC versions 8.10 and and 9.2. When completed, this tool will automatically run all permutations of the inputs and graph the results.

Sylvain: investigated and closed GHC#21041 as the suggested change doesn't improve performance

Jeff: Helped the cardano team with performance engineering the cardano-ledger. Tested two prospective patches and observed good evidence that one patch is worthy of further testing.

Luite: Reimplemented the Z-encoder in Haskell and C for a 10-20x speedup over the existing implementation. This allows us to remove the cached Z-encoded strings from the FastString table, reducing the amount of non-reclaimable memory used in a GHC session GHC!11681

Maintenanceโ€‹

Sylvain: closed most tickets related to Data Parallel Haskell (DPH) and that are no longer relevant.

Sylvain: fixed issue with STG CSE optimization GHC#14895, GHC#24233, GHC!11715.

Sylvain: implemented text's measure_off function in pure Haskell text!548

Sylvain: investigated and closed GHC#15485. The upstream unix issue is now tracked in unix#310.

Luite: fixed some foreign imports for the JS backend GHC!11447

Jeff: Modified the testsuite to track and record arbitrary metrics on bulid artifacts. MR!11551 is 90% done.