@@ -12,17 +12,17 @@ This chapter is a case study on a first pass of performance engineering for the
12
12
|klister | programming language interpreter. This case study should be exemplary
13
13
of any system which is shortlived, has distinct phases of input and output, and
14
14
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
16
16
Chapter>`, :ref: `Info Table Profiling <IPE Chapter >`, :ref: `TickyTicky <Ticky
17
17
Chapter>` profiling. The optimizations are trivial: choosing better data
18
18
structures and closing memory leaks; any intermediate level Haskeller should be
19
19
able to follow along. After reading this chapter, a reader should be able to
20
20
spot inefficient data structure use by reading code, and GHC's profiling tools
21
21
to diagnose memory performance issues and identify hot code. To read through the
22
22
code, `this commit
23
- <https://github.com/gelisam/klister/commit/33501b2233ce865407a8a3ca7c090457f3375442> `_
23
+ <https://github.com/gelisam/klister/commit/33501b2233ce865407a8a3ca7c090457f3375442> `__
24
24
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> `__
26
26
was the state of the klister code base that the tutorial starts with.
27
27
28
28
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:
1464
1464
1465
1465
* :ref: `Ticky Profiling <Ticky Chapter >`: To determine hot loops and highly
1466
1466
allocating functions
1467
- * :ref: `Biographical/Retainer Profiling <Heap Profiling Chapter >`: To determine
1467
+ * :ref: `Biographical/Retainer Profiling <Haskell GHC Flags >`: To determine
1468
1468
the source of memory leaks in the expander state. This technique led our
1469
1469
analysis to the lazy return in ``currentEnv ``.
1470
1470
* :ref: `Info-Table Profiling <IPE Chapter >`: To determine the line of code
0 commit comments