Skip to content
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

Refactor measurement/profiling chapter #97

Closed
hsyl20 opened this issue Jan 2, 2024 · 1 comment · Fixed by #100
Closed

Refactor measurement/profiling chapter #97

hsyl20 opened this issue Jan 2, 2024 · 1 comment · Fixed by #100

Comments

@hsyl20
Copy link
Collaborator

hsyl20 commented Jan 2, 2024

I'd like to suggest refactoring the Measurement / Profiling chapter.

I've written some introduction text: #95

Then I think we should present it from the bottom-up:

  • binary profiling: perf, cachegrind, etc. Tools that are language agnostic. Limitations due to Haskell execution model
  • multi-thread level: OS vs Haskell threads. ThreadScope, etc.
  • Cmm level: if we have Cmm specific probes?
  • Stg level + rts stats: G-machine level probes: ticky, late cost centers, etc. RTS stats: GC, applications, etc. The bulk of what makes Haskell different to profile than most other languages
  • Core level: non-late cost centers, etc.
  • Haskell level: user probes (event log), haskell level checks (weigh, nothunks...)

What do you think?

@doyougnu
Copy link
Collaborator

doyougnu commented Jan 2, 2024

I think this is a great idea. Then at the beginning of the book we can have a triage chapter that is observe this symptom --> check this chapter to guide readers to the right place.

doyougnu added a commit to doyougnu/hs-opt-handbook.github.io that referenced this issue Jan 8, 2024
doyougnu added a commit to doyougnu/hs-opt-handbook.github.io that referenced this issue Jan 8, 2024
doyougnu added a commit to doyougnu/hs-opt-handbook.github.io that referenced this issue Jan 8, 2024
doyougnu added a commit that referenced this issue Jan 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants