hand apply whitespace mutiliated patch
[p5sagit/p5-mst-13.2.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 0d33186..053798a 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -125,7 +125,7 @@ L<"Site-wide Policy settings"> below.
 Configure will figure out various things about your system.  Some
 things Configure will figure out for itself, other things it will ask
 you about.  To accept the default, just press RETURN.   The default
-is almost always ok.  At any Configure prompt, you can type  &-d
+is almost always okay.  At any Configure prompt, you can type  &-d
 and Configure will use the defaults from then on.
 
 After it runs, Configure will perform variable substitution on all the
@@ -162,6 +162,15 @@ NOTE:  You must not specify an installation directory that is below
 your perl source directory.  If you do, installperl will attempt
 infinite recursion.
 
+It may seem obvious to say, but Perl is useful only when users can
+easily find it.  It's often a good idea to have both /usr/bin/perl and
+/usr/local/bin/perl be symlinks to the actual binary.  Be especially
+careful, however, of overwriting a version of perl supplied by your
+vendor.  In any case, system administrators are strongly encouraged to
+put (symlinks to) perl and its accompanying utilities, such as perldoc,
+into a directory typically found along a user's PATH, or in another
+obvious and convenient place.
+
 By default, Configure will compile perl to use dynamic loading if
 your system supports it.  If you want to force perl to be compiled
 statically, you can either choose this when Configure prompts you or
@@ -499,14 +508,6 @@ system.  For most users, the defaults are sensible and will work.
 Some users, however, may wish to further customize perl.  Here are
 some of the main things you can change.
 
-=head2 Installing perl under different names
-
-If you want to install perl under a name other than "perl" (for example,
-when installing perl with special features enabled, such as debugging),
-indicate the alternate name on the "make install" line, such as:
-
-    make install PERLNAME=myperl
-
 =head2 Threads
 
 On some platforms, perl5.005 can be compiled to use threads.  To
@@ -690,6 +691,9 @@ the malloc function on your system.
 The perl source is shipped with a version of malloc that is very fast
 but somewhat wasteful of space.  On the other hand, your system's
 malloc() function may be a bit slower but also a bit more frugal.
+However, note that space efficiency also contributes to speed efficiency,
+so there's a chance that perl's malloc may be more efficient both
+space and speed wise.
 
 For many uses, speed is probably the most important consideration, so
 the default behavior (for most systems) is to use the malloc supplied
@@ -697,8 +701,8 @@ with perl.  However, if you will be running very large applications
 (e.g. Tk or PDL) or if your system already has an excellent malloc, or
 if you are experiencing difficulties with extensions that use
 third-party libraries that call malloc, then you might wish to use
-your system's malloc.  (Or, you might wish to explore the experimental
-malloc flags discussed below.)
+your system's malloc.  (Or, you might wish to explore the malloc flags
+discussed below.)
 
 To build without perl's malloc, you can use the Configure command
 
@@ -708,43 +712,30 @@ or you can answer 'n' at the appropriate interactive Configure prompt.
 
 =head2 Malloc Performance Flags
 
-If you are using Perl's malloc, you may add one or
-more of the following items to your cflags config.sh variable
-to change its behavior in potentially useful ways.  You can find out
-more about these flags by reading the malloc.c source.
-In a future version of perl, these might be enabled by default.
+If you are using Perl's malloc, you may add one or more of the following
+items to your ccflags config.sh variable to change its behavior.  You can
+find out more about these and other flags by reading the commentary near
+the top of the malloc.c source.
 
 =over 4
 
-=item -DPERL_EMERGENCY_SBRK
-
-If PERL_EMERGENCY_SBRK is defined, running out of memory need not be a
-fatal error: a memory pool can allocated by assigning to the special
-variable $^M.  See perlvar(1) for more details.
+=item -DNO_FANCY_MALLOC
 
-=item -DPACK_MALLOC
+Undefined by default.  Defining it returns malloc to the state it was at
+in Perl version 5.004.
 
-If PACK_MALLOC is defined, malloc.c uses a slightly different
-algorithm for small allocations (up to 64 bytes long).  Such small
-allocations are quite common in typical Perl scripts.
+If left undefined, it enables -DBUCKETS_ROOT2, -DIGNORE_SMALL_BAD_FREE,
+and -DSMALL_BUCKET_VIA_VTABLE.  See the commentary in malloc.c for more
+details.
 
-The expected memory savings (with 8-byte alignment in $alignbytes) is
-about 20% for typical Perl usage.  The expected slowdown due to the
-additional malloc overhead is in fractions of a percent.  (It is hard
-to measure because of the effect of the saved memory on speed).
+=item -DPLAIN_MALLOC
 
-=item -DTWO_POT_OPTIMIZE
+Undefined by default.  Defining it in addition to NO_FANCY_MALLOC returns
+malloc to the state it was at in Perl version 5.000.
 
-If TWO_POT_OPTIMIZE is defined, malloc.c uses a slightly different
-algorithm for large allocations that are close to a power of two
-(starting with 16K).  Such allocations are typical for big hashes and
-special-purpose scripts, especially image processing.  If you will be
-manipulating very large blocks with sizes close to powers of two, it
-might be wise to define this macro.
-
-The expected saving of memory is 0-100% (100% in applications which
-require most memory in such 2**n chunks).  The expected slowdown is
-negligible.
+If left undefined, it enables -DPERL_EMERGENCY_SBRK, -DPACK_MALLOC,
+-DTWO_POT_OPTIMIZE, and -DDEBUGGING_MSTATS.  See the commentary in
+malloc.c for more details.
 
 =back
 
@@ -759,7 +750,7 @@ you probably want to do
 This will do two independent things:  First, it will force compilation
 to use cc -g so that you can use your system's debugger on the
 executable.  (Note:  Your system may actually require something like
-cc -g2.  Check you man pages for cc(1) and also any hint file for your
+cc -g2.  Check your man pages for cc(1) and also any hint file for your
 system.)  Second, it will add -DDEBUGGING to your ccflags variable in
 config.sh so that you can use B<perl -D> to access perl's internal
 state.  (Note: Configure will only add -DDEBUGGING by
@@ -1303,6 +1294,16 @@ pages, however.  You may need to be root to run B<make install>.  If you
 are not root, you must own the directories in question and you should
 ignore any messages about chown not working.
 
+=head2 Installing perl under different names
+
+If you want to install perl under a name other than "perl" (for example,
+when installing perl with special features enabled, such as debugging),
+indicate the alternate name on the "make install" line, such as:
+
+    make install PERLNAME=myperl
+
+=head2 Installed files
+
 If you want to see exactly what will happen without installing
 anything, you can run
 
@@ -1572,4 +1573,4 @@ above.
 
 =head1 LAST MODIFIED
 
-$Id: INSTALL,v 1.34 1998/04/23 18:19:41 doughera Released $
+$Id: INSTALL,v 1.35 1998/05/18 19:06:26 doughera Released $