Skip to content

Commit 73a807f

Browse files
author
doyougnu
committed
cs: klister: use anonymous links
1 parent 24ec05a commit 73a807f

File tree

4 files changed

+13
-13
lines changed

4 files changed

+13
-13
lines changed

src/Case_Studies/klister.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,17 @@ This chapter is a case study on a first pass of performance engineering for the
1212
|klister| programming language interpreter. This case study should be exemplary
1313
of any system which is shortlived, has distinct phases of input and output, and
1414
maintains state. To diagnose the performance issues this case study uses
15-
:ref:`Heap Profiling <Heap Profiling Chapter>` with :ref:`Eventlog <EventLog
15+
:ref:`Heap Profiling <Haskell GHC Flags>` with :ref:`Eventlog <EventLog
1616
Chapter>`, :ref:`Info Table Profiling <IPE Chapter>`, :ref:`TickyTicky <Ticky
1717
Chapter>` profiling. The optimizations are trivial: choosing better data
1818
structures and closing memory leaks; any intermediate level Haskeller should be
1919
able to follow along. After reading this chapter, a reader should be able to
2020
spot inefficient data structure use by reading code, and GHC's profiling tools
2121
to diagnose memory performance issues and identify hot code. To read through the
2222
code, `this commit
23-
<https://github.com/gelisam/klister/commit/33501b2233ce865407a8a3ca7c090457f3375442>`_
23+
<https://github.com/gelisam/klister/commit/33501b2233ce865407a8a3ca7c090457f3375442>`__
2424
is the result of the case study, and `this commit
25-
<https://github.com/gelisam/klister/tree/5aea4d2b9df8f6e9db276078570c1e1bd1306cd3>`_
25+
<https://github.com/gelisam/klister/tree/5aea4d2b9df8f6e9db276078570c1e1bd1306cd3>`__
2626
was the state of the klister code base that the tutorial starts with.
2727

2828
The rest of the chapter is structured as follows. We introduce the |klister|
@@ -1464,7 +1464,7 @@ Then we employed a number of methods to find performance problems. We used:
14641464

14651465
* :ref:`Ticky Profiling <Ticky Chapter>`: To determine hot loops and highly
14661466
allocating functions
1467-
* :ref:`Biographical/Retainer Profiling <Heap Profiling Chapter>`: To determine
1467+
* :ref:`Biographical/Retainer Profiling <Haskell GHC Flags>`: To determine
14681468
the source of memory leaks in the expander state. This technique led our
14691469
analysis to the lazy return in ``currentEnv``.
14701470
* :ref:`Info-Table Profiling <IPE Chapter>`: To determine the line of code

src/Measurement_Observation/Haskell_Profiling/ghc_flags.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. _Heap Profiling Chapter:
1+
.. _Haskell GHC Flags:
22

33
:lightgrey:`GHC Flags`
44
======================

src/Preliminaries/how_to_debug.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,8 +230,8 @@ properties:
230230
invalidated. For example, the hypothesis "The total runtime of the system is
231231
dominated by garbage collection induced by storing thunks in the cache" is
232232
testable; we can directly measure how much garbage collection the runtime
233-
system does and the kinds of objects it is storing (see :doc:`GHC Flags
234-
<./Heap_Ghc/ghc_flags>`). This hypothesis is also specific; from reading it
233+
system does and the kinds of objects it is storing (see :ref:`GHC Flags
234+
<Haskell GHC Flags>`). This hypothesis is also specific; from reading it
235235
we know which sub-systems to inspect: the garbage collector, the cache, and
236236
the heap. But in addition to that, this hypothesis also adds information
237237
*even if* it is shown to be wrong. It could be the case that the runtime *is

src/Preliminaries/how_to_use.rst

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,13 @@ picking your favorite Haskell library and attempting to optimize that!
3232

3333
The book assumes you are using GHC |ghcVersion| and a Linux distribution (kernel
3434
version ``5.8`` and higher). Should you be using an older compiler than some
35-
sections, such as :doc:`Using EventLog
36-
</src/Measurement_Observation/Heap_Ghc/eventlog>`; which arrived in ``GHC 8.8``
37-
may still be useful, while others such as :doc:`Using Cachegrind
38-
</src/Measurement_Observation/Heap_Third/cachegrind>`; which relies on
35+
sections, such as :ref:`Using EventLog
36+
<EventLog Chapter>`; which arrived in ``GHC 8.8``
37+
may still be useful, while others such as :ref:`Using Cachegrind
38+
<Cachegrind Chapter>`; which relies on
3939
:term:`DWARF` symbols (added in ``GHC 8.10.x``) may not be applicable.
40-
Similarly, some chapters, such as :doc:`Using perf
41-
</src/Measurement_Observation/Measurement_Third/linux_perf>` will only be
40+
Similarly, some chapters, such as :ref:`Using perf
41+
<Perf Chapter>` will only be
4242
applicable for Linux and Linux based operating systems.
4343

4444
Notation

0 commit comments

Comments
 (0)