Annotation of researchv10dc/cmd/sort/README, revision 1.1.1.1

1.1       root        1: Posix P1003.2 sort utility from Unix research v10 system.
                      2: 
                      3: To build it:
                      4:        make sort
                      5: To test it:
                      6:        make test
                      7: 
                      8: On many systems, you may be able to make a faster sort:
                      9:        make fast
                     10:        make test
                     11: 
                     12: File sort.1 is a manual page.
                     13: 
                     14: ---------------------------------------------------------
                     15: 
                     16: Extensions to POSIX:
                     17:        Obsolescent features:
                     18:                +pos -pos field specifications
                     19:                -o recognized among file names
                     20:        Traditional features not in POSIX:
                     21:                -M for sorting by month
                     22:                -T for setting temp directory
                     23:                -y for setting memory size
                     24:                -z (ignored)
                     25:                -t may be combined with other options, e.g. -ct:
                     26:        New features:
                     27:                -g like -n, but allows e-format numbers
                     28:                -s stable sort; break ties by original order,
                     29:                   not by raw bytes
                     30: 
                     31: Algorithm: distribution sort, with preconditioning of difficult keys
                     32:        to make them into simple strings.
                     33:        Overlong data spills to intermediate files, where it is
                     34:        sorted by merging.
                     35: 
                     36: Language: ANSI C.
                     37: 
                     38: Testing: passes the accompanying sorttest suite, which exercises
                     39:        every line of code, except for
                     40:                option -T
                     41:                some instances of -y
                     42:                error comments
                     43:                interrupt handling
                     44:                excessive exponents (>~1000) in -g
                     45: 
                     46: Typical problems:
                     47:        On some systems the ANSI standard functions memmove.c
                     48:        and strtoul.c are slow or absent.  Code for these
                     49:        functions is included; use it if you have to
                     50:        (see Makefile).
                     51: 
                     52:        The sorttest suite uses awk as described in the
                     53:        Aho/Kernighan/Weinberger book.  Older versions of awk
                     54:        may not be adequate.
                     55: 
                     56:        ANSI header files are assumed, but because headers
                     57:        vary among systems, you may have to do some clever
                     58:        rearrangement of #include directives.
                     59: 
                     60: Notes on "make fast":
                     61:        In extreme cases (very long records in nearly sorted
                     62:        order) the "make fast" sort can run 40% faster than the
                     63:        "make sort" version.  It uses a private addition to
                     64:        classic System V stdio, not universally portable.
                     65:        However, if the new function cgets() will compile, it
                     66:        will almost certainly work.
                     67: 
                     68: Report troubles to:
                     69:        Doug McIlroy
                     70:        908 582 6050
                     71:        research!doug
                     72:        [email protected]

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.