Skip to content

Add the cabal guide to application profiling #9

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Dec 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions content/how-to-collect-performance-statistics-with-cabal/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
+++
title = "How to collect performance statistics with Cabal"
date = 2024-12-23
[taxonomies]
authors = ["Hécate"]
categories = ["Cabal"]
tags = ["Performance", "Profiling"]
+++

The [Cabal Manual][Cabal Manual] now has a guide on how to collect performance statistics of Haskell applications.

<!-- more -->

This guide was very generously contributed by Malte Neuss. It describes the various options you can set in your `cabal.project` file in order to get a time or space profile of your application.

## Project Configuration Guide

It is the recommended entry point for newcomers into the world of Haskell performance analysis.
As you progress through it, you will be pointed to other resources like the [Profiling section of the GHC Users Guide][GHC]
and the [Haskell Optimization Handbook][HsOpt], which present you with more in-depth techniques and configuration options.

Moreover, you will be shown how to produce time and space profiles that can be rendered and analysed with third-party tools like [Speedscope](https://speedscope.app).

<img src=./speedscope.png />

You can read it there: <https://cabal.readthedocs.io/en/latest/how-to-enable-profiling.html>.

## Contribute to the documentation

The manual follows the [documentation best practices](@/documentation-best-practices-in-2024/index.md) of the Haddock team,
and the Cabal team is eager to receive more contributions to improve the life of our users.
Do not hesitate to open a pull request at <https://github.com/haskell/cabal>.

Cheers!


[Cabal Manual]: https://cabal.readthedocs.io/en/latest/
[GHC]: https://downloads.haskell.org/ghc/latest/docs/users_guide/profiling.html
[HsOpt]: https://haskell.foundation/hs-opt-handbook.github.io/
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading