From c2e6879aee84f04b2132a52580219b13ce586a13 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn-Egil=20Dahlberg?=
Date: Fri, 21 Oct 2011 17:30:37 +0200
Subject: eprof: Fix invalid references to removed functions
---
lib/tools/doc/src/eprof.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/tools/doc/src/eprof.xml b/lib/tools/doc/src/eprof.xml
index 6d68c90768..1dbc41ec8e 100644
--- a/lib/tools/doc/src/eprof.xml
+++ b/lib/tools/doc/src/eprof.xml
@@ -147,7 +147,7 @@
This function ensures that the results displayed by
- analyse/0 and total_analyse/0 are printed both to
+ analyze/0,1,2 are printed both to
the file File and the screen.
--
cgit v1.2.3
From 43c4a54a25e83a33a8383b7a96af20ecd14f10de Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn-Egil=20Dahlberg?=
Date: Mon, 24 Oct 2011 13:57:40 +0200
Subject: otp: Update profiling doc with eprof
---
system/doc/efficiency_guide/profiling.xml | 57 ++++++++++++++++++++-----------
1 file changed, 37 insertions(+), 20 deletions(-)
diff --git a/system/doc/efficiency_guide/profiling.xml b/system/doc/efficiency_guide/profiling.xml
index 13165a0ede..65ba4b3369 100644
--- a/system/doc/efficiency_guide/profiling.xml
+++ b/system/doc/efficiency_guide/profiling.xml
@@ -40,9 +40,13 @@
Erlang/OTP contains several tools to help finding bottlenecks.
- fprof and eprof provide the most detailed information
- about where the time is spent, but they significantly slow downs the
- programs they profile.
+ fprof provide the most detailed information
+ about where the time is spent, but it significantly slows down the
+ program it profiles.
+
+ eprof provides time information of each function used
+ in the program. No callgraph is produced but eprof has
+ considerable less impact on the program profiled.
If the program is too big to be profiled by fprof or eprof,
cover and cprof could be used to locate parts of the
@@ -50,7 +54,7 @@
eprof.
cover provides execution counts per line per process,
- with less overhead than fprof/eprof. Execution counts can
+ with less overhead than fprof. Execution counts can
with some caution be used to locate potential performance bottlenecks.
The most lightweight tool is cprof, but it only provides execution
counts on a function basis (for all processes, not per process).
@@ -102,35 +106,45 @@
fprof
- fprof measures the execution time for each function,
+
+ fprof measures the execution time for each function,
both own time i.e how much time a function has used for its
own execution, and accumulated time i.e. including called
functions. The values are displayed per process. You also get
to know how many times each function has been
called. fprof is based on trace to file in order to
minimize runtime performance impact. Using fprof is just a
- matter of calling a few library functions, see fprof manual
- page under the application tools.
- fprof was introduced in version R8 of Erlang/OTP. Its
- predecessor eprof that is based on the Erlang trace BIFs,
- is still available, see eprof manual page under the
- application tools. Eprof shows how much time has been used by
- each process, and in which function calls this time has been
- spent. Time is shown as percentage of total time, not as
- absolute time.
+ matter of calling a few library functions, see
+ fprof
+ manual page under the application tools.fprof was introduced in
+ version R8 of Erlang/OTP.
+
+
+ eprof
+
+ eprof is based on the Erlang trace_info BIFs. Eprof shows how much time has been used by
+ each process, and in which function calls this time has been
+ spent. Time is shown as percentage of total time and absolute time.
+ See eprof for
+ additional information.
+
+
+
cover
- cover's primary use is coverage analysis to verify
+
+ cover's primary use is coverage analysis to verify
test cases, making sure all relevant code is covered.
cover counts how many times each executable line of
code is executed when a program is run. This is done on a per
module basis. Of course this information can be used to
determine what code is run very frequently and could therefore
be subject for optimization. Using cover is just a matter of
- calling a few library functions, see cover manual
- page under the application tools.
+ calling a few library functions, see
+ cover
+ manual page under the application tools.
@@ -139,8 +153,11 @@
cover regarding features. It counts how many times each
function is called when the program is run, on a per module
basis. cprof has a low performance degradation effect (versus
- fprof and eprof) and does not need to recompile
- any modules to profile (versus cover).
+ fprof) and does not need to recompile
+ any modules to profile (versus cover).
+ See cprof manual page for additional
+ information.
+
@@ -170,7 +187,7 @@
eprof |
per process/function to screen/file |
medium |
- significant slowdown |
+ small slowdown |
yes |
only total |
no |
--
cgit v1.2.3