|Capacity and other limitations|
System resource limitations
On Unix/linux, the default max amount of CPU time allowed is 30 seconds
which is enforced using setrlimit(), and a core dump occurs when
the limit is exceeded. This limit may be modified by using
The -cpulimit command line option described below, or in
or in pl.h (CPULIMIT)
The date arithmetic package can handle dates as far back as 1754.
Date scaling using omitweekends mode is not supported (and gives incorrect results) for dates
before Jan 1, 1970.
Ploticus has these capacity limitations. Many of them are actually dynamic and
can be overridden using command line arguments (etc).
Unless otherwise noted these are #defined in pl.h or tdhkit.h
(the relevant #define is shown in parentheses)
and can be safely raised if necessary (then do: make clean; make).
Default max number of data rows: 10,000 rows (MAXDROWS). Command line option -maxrows is described below.
Default max total number of individual data fields: 200,000 fields (MAXD).
This is the number of data fields per row, times number of rows.
It is used to allocate storage for pointers, one per data item.
Command line option -maxfields is described below.
Default maximum number of elements in the data vector: 100,000. The "data vector" is used by proc processdata
median computation (1 element per data point); proc lineplot, scatterplot, and curvefit (2 elements
per data point); and proc rangesweep (3 elements per data point).
Command line option -maxvector is described below.
Example: suppose you have a data set with 58,000+ rows, and each row has 10 fields.
You are doing scatterplots, so the plotting vector requires 2
You would set capacities like this:
pl ... -maxrows 60000 -maxfields 600000 -maxvector 120000
Max length of data field: 250 chars
Max length of input data record: 2998 chars
Default maximum total number of lines in currently active procs: 5000 lines (MAXPROCLINES).
"Currently active procs" are the current proc, any #saved procs, and any proc getdata
having an embedded data: statement. The maximum number of "currently active procs" is 40 (MAXOBJ)
Command line option -maxproclines is described below.
Max length of a line in a ploticus script: 3000 chars before & after variable evaluation
Max number of variables: 200
Max length of variable contents: 250 chars
Max length of field names, variable names, category names, proc & attribute names: 48 chars
Max length of a file pathname is generally 250 characters.
Max number of points from which to compute a moving average or regression curve in proc curvefit is 1000 points, a
dynamic limit that can be raised by specifying proc curvefit's maxinpoints attribute, or by raising MAXPTS in proc_curvefit.c
Max number of points from which to compute a bspline curve is 100 points (see proc_curvefit.c).
Max number of pie graph slices: 80
proc tabulate limits: 200 rows, 200 columns, 200 ranges, comparison significance is 38 characters.
Max length of a color specification: 38 chars.
Under X11, SWF, and PNG/GIF/JPEG there's a limit of 500 points for a polygon
(filled lineplots and rangesweeps are made up of many 4-sided polygons, so this
limit doesn't apply to these), and with SWF there's a limit of 500 points for any one continuous line.
Command line option -maxdrawpoints is described below.
In proc lineplot, there's a maximum of 200 data points that can use the alternative data point symbol.
Capacity-raising pl(1) command line options
These options allow capacities to be raised for accomodation
of very large data sets, or lowered to minimize memory usage.
The defaults in this section are defined in pl.h.
Set the capacity for data rows to nrows. Default nrows is 10,000.
Ploticus will allocate one pointer for each row.
Set the capacity for data fields to nfields. Default nfields is 200,000.
Ploticus will allocate one pointer for each field.
Set the capacity for script lines for active procs to nlines.
Default nlines is 5000.
Active procs are the current proc, all #saved procs, and
all proc getdata procs that contain embedded data.
Ploticus will allocate one pointer for each line in each active proc.
Set the capacity for the data plotting vector to ncells.
Default ncells is 100,000.
The data plotting vector is an array which holds plottable
values for situations where the values must be sorted or pre-screened for
bad values. Ploticus will allocate one double value for each cell.
Use this if you need to render a polygon having more than 500 points in PNG/GIF/JPEG, X11, or SWF, or
any continuous line having more than 500 points in SWF.
Set unix resource limit on cpu time to s seconds. Default is 30 seconds.
New in 2.40