@@ -27,18 +27,18 @@ Even experienced software developers often guess wrong about where the
2727performance bottlenecks are in their programs. Therefore, profile your program
2828to see where the performance bottlenecks are and concentrate on optimizing them.
2929
30- Erlang/OTP contains several tools to help finding bottlenecks:
30+ Erlang/OTP contains several tools to help find bottlenecks:
3131
3232- ` m:tprof ` is a tracing profiler that can measure call count, call time, or
3333 heap allocations per function call.
3434- ` m:fprof ` provides the most detailed information about where the program time
3535 is spent, but it significantly slows down the program it profiles.
36- - ` m:dbg ` is the generic erlang tracing frontend. By using the ` timestamp ` or
36+ - ` m:dbg ` is the generic Erlang tracing frontend. By using the ` timestamp ` or
3737 ` cpu_timestamp ` options it can be used to time how long function calls in a
3838 live system take.
3939- ` m:lcnt ` is used to find contention points in the Erlang Run-Time System's
4040 internal locking mechanisms. It is useful when looking for bottlenecks in
41- interaction between process, port , ETS tables, and other entities that can be
41+ interaction between processes, ports , ETS tables, and other entities that can be
4242 run in parallel.
4343
4444The tools are further described in [ Tools] ( profiling.md#profiling_tools ) .
@@ -85,7 +85,7 @@ detailed breakdown of where memory is used.
8585Processes, ports, and ETS tables can then be inspected using their respective
8686information functions, that is,
8787[ ` process_info/2 ` ] ( `m:erlang#process_info_memory` ) ,
88- [ ` erlang:port_info/2 ` ] ( `m:erlang#port_info_memory` ) , and ` ets:info/1 ` .
88+ [ ` erlang:port_info/2 ` ] ( `m:erlang#port_info_memory` ) , and ` ets:info/1 ` .
8989
9090Sometimes the system can enter a state where the reported memory from
9191` erlang:memory(total) ` is very different from the memory reported by
@@ -117,7 +117,7 @@ with more or less overhead.
117117 variety of information about the running system.
118118- ` m:etop ` is a command line tool that can connect to remote nodes and display
119119 information similar to what the UNIX tool top shows.
120- - ` m:msacc ` allows the user to get a view of what the Erlang Run-Time system is
120+ - ` m:msacc ` allows the user to get a view of what the Erlang Run-Time System is
121121 spending its time doing. Has a very low overhead, which makes it useful to run
122122 in heavily loaded systems to get some idea of where to start doing more
123123 granular profiling.
@@ -191,19 +191,19 @@ _Table: Tool Summary_
191191
192192` dbg ` is a generic Erlang trace tool. By using the ` timestamp ` or
193193` cpu_timestamp ` options it can be used as a precision instrument to profile how
194- long time a function call takes for a specific process. This can be very useful
194+ long a function call takes for a specific process. This can be very useful
195195when trying to understand where time is spent in a heavily loaded system as it
196196is possible to limit the scope of what is profiled to be very small. For more
197197information, see the ` m:dbg ` manual page in Runtime Tools.
198198
199199### lcnt
200200
201- ` lcnt ` is used to profile interactions in between entities that run in parallel.
202- For example if you have a process that all other processes in the system needs
201+ ` lcnt ` is used to profile interactions between entities that run in parallel.
202+ For example if you have a process that all other processes in the system need
203203to interact with (maybe it has some global configuration), then ` lcnt ` can be
204204used to figure out if the interaction with that process is a problem.
205205
206- In the Erlang Run-time System entities are only run in parallel when there are
206+ In the Erlang Run-Time System entities are only run in parallel when there are
207207multiple schedulers. Therefore ` lcnt ` will show more contention points (and thus
208208be more useful) on systems using many schedulers on many cores.
209209
0 commit comments