summaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
Diffstat (limited to 'system')
-rw-r--r--system/doc/efficiency_guide/commoncaveats.xmlsrc15
-rw-r--r--system/doc/tutorial/c_port.xmlsrc2
2 files changed, 11 insertions, 6 deletions
diff --git a/system/doc/efficiency_guide/commoncaveats.xmlsrc b/system/doc/efficiency_guide/commoncaveats.xmlsrc
index fb004da203..6c5aa2b233 100644
--- a/system/doc/efficiency_guide/commoncaveats.xmlsrc
+++ b/system/doc/efficiency_guide/commoncaveats.xmlsrc
@@ -39,11 +39,16 @@
marker="erts:erlang#send_after/3">erlang:send_after/3</seemfa>
and
<seemfa marker="erts:erlang#start_timer/3">erlang:start_timer/3</seemfa>,
- is much more efficient than using the timers provided by the
- <seeerl marker="stdlib:timer">timer</seeerl> module in STDLIB.
- The <c>timer</c> module uses a separate process to manage the timers.
- That process can easily become overloaded if many processes
- create and cancel timers frequently.</p>
+ is more efficient than using the timers provided by the
+ <seeerl marker="stdlib:timer">timer</seeerl> module in STDLIB.</p>
+ <p>The <c>timer</c> module uses a separate process to manage the timers.
+ Before OTP 25, this management overhead was substantial and increasing
+ with the number of timers, especially when they were short-lived, so the
+ timer server process could easily become overloaded and unresponsive.
+ In OTP 25, the timer module was improved by removing most of the management
+ overhead and the resulting performance penalty. Still, the timer server
+ remains a single process, and it may at some point become a bottleneck
+ of an application.</p>
<p>The functions in the <c>timer</c> module that do not manage timers
(such as <c>timer:tc/3</c> or <c>timer:sleep/1</c>), do not call the
diff --git a/system/doc/tutorial/c_port.xmlsrc b/system/doc/tutorial/c_port.xmlsrc
index e9a85b2f1d..5d24908fef 100644
--- a/system/doc/tutorial/c_port.xmlsrc
+++ b/system/doc/tutorial/c_port.xmlsrc
@@ -158,7 +158,7 @@ Eshell V4.9.1.2 (abort with ^G)
{ok,complex1}</pre>
<p><em>Step 3.</em> Run the example:</p>
<pre>
-2> <input>complex1:start("extprg").</input>
+2> <input>complex1:start("./extprg").</input>
&lt;0.34.0>
3> <input>complex1:foo(3).</input>
4