program limitations


Version 2.30


Manual page for program_limitations(PL)

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 proc settings, or in your config file or by directly modifying pl.h (CPULIMIT)


Capacity limits

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).

Data

  • Default max number of data rows: 10,000 rows (MAXDROWS). This limit is dynamic and can be raised using command line option -maxrows.

  • 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. This limit is dynamic and can be raised using command line option -maxfields.

  • Default maximum number of elements in the data vector: 100,000. The "data vector" is used by proc rangebar 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). This limit is dynamic and can be raised using command line option -maxvector.

  • 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 ⋅ 58,000 cells. You would set capacities like this:
    pl ... -maxrows 60000 -maxfields 600000 -maxvector 120000

  • Max length of data field: 250 chars (DATAMAXLEN)

  • Max length of input data record: 2998 chars (MAXRECORDLEN)


Scripts

  • Default maximum total number of lines in currently active procs: 5000 lines (MAXPROCLINES). This limit is dynamic and can be raised using command line option -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)

  • Max length of a line in a ploticus script: 3000 chars before & after variable evaluation (SCRIPTLINELEN)

  • Max number of variables: 200 (MAXVAR)

  • Max length of variable contents: 250 chars (VARMAXLEN)

  • Max length of field names, variable names, category names, proc & attribute names: 48 chars (NAMEMAXLEN)


Other

  • Default max number of scale categories in X: 250; in Y: 250 (MAXNCATS). As of version 2.11 this limit is dynamic and can be overridden using proc categories listsize attribute

  • Max number of points from which to compute a moving average or regression curve in proc curvefit: 5000. Bspline curve: 100. (see proc_curvefit.c)

  • Max number of clickmap zones and max number of mouseover lables: 500 (see clickmap.c MAXENTRIES)

  • Max number of pie graph slices: 80

  • proc tabulate limits: 200 rows, 200 columns, 200 ranges, comparison significance is 38 characters. (see proc_tabulate.c)

  • 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. (Note that filled lineplots and rangesweeps are made up of many 4-sided polygons, so this limit doesn't apply to these.)
    With SWF there's also a limit of 500 points for any one continuous line. This limit is dynamic and can be raised using command line option -maxdrawpoints.


data display engine  
Copyright Steve Grubb


Markup created by unroff 1.0,    August 25, 2004.