summaryrefslogtreecommitdiff
path: root/pod
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2006-04-18 16:03:10 +0000
committerNicholas Clark <nick@ccl4.org>2006-04-18 16:03:10 +0000
commitfee0a0f7c91325f3e0c5d30288c0696c82a600ae (patch)
treeb49667ba1295089892a3fc2f7fc077df8f459712 /pod
parent3df43ef74691011f52cfd7284586a56044a8a4f2 (diff)
downloadperl-fee0a0f7c91325f3e0c5d30288c0696c82a600ae.tar.gz
Expand "am I hot or not" into a more general "Profile Perl" section.
p4raw-id: //depot/perl@27890
Diffstat (limited to 'pod')
-rw-r--r--pod/perltodo.pod22
1 files changed, 14 insertions, 8 deletions
diff --git a/pod/perltodo.pod b/pod/perltodo.pod
index 3ff99421d3..c7dd23d781 100644
--- a/pod/perltodo.pod
+++ b/pod/perltodo.pod
@@ -368,17 +368,23 @@ become C<char>s. Finding variables to downsize coupled with rearrangement
could shrink the interpreter structure; a size saving which is multiplied by
the number of threads running.
-=head2 am I hot or not?
+=head2 Profile Perl - am I hot or not?
-The idea of F<pp_hot.c> is that it contains the I<hot> ops, the ops that are
-most commonly used. The idea is that by grouping them, their object code will
-be adjacent in the executable, so they have a greater chance of already being
-in the CPU cache (or swapped in) due to being near another op already in use.
+The Perl source code is stable enough that it makes sense to profile it,
+identify and optimise the hotspots. It would be good to measure the
+performance of the Perl interpreter using free tools such as cachegrind,
+gprof, and dtrace, and work to reduce the bottlenecks they reveal.
+
+As part of this, the idea of F<pp_hot.c> is that it contains the I<hot> ops,
+the ops that are most commonly used. The idea is that by grouping them, their
+object code will be adjacent in the executable, so they have a greater chance
+of already being in the CPU cache (or swapped in) due to being near another op
+already in use.
Except that it's not clear if these really are the most commonly used ops. So
-anyone feeling like exercising their skill with coverage and profiling tools
-might want to determine what ops I<really> are the most commonly used. And in
-turn suggest evictions and promotions to achieve a better F<pp_hot.c>.
+as part of exercising your skills with coverage and profiling tools you might
+want to determine what ops I<really> are the most commonly used. And in turn
+suggest evictions and promotions to achieve a better F<pp_hot.c>.
=head2 Shrink struct context