# Language Reference - Appendix

System Limits |

This section lists PxPlus system limits (these are subject to any operating system constraints of memory and resources). There is also a general limit of 2GB on all data storage.

The following are preset limits for PxPlus Basic Programs:

For PxPlus Basic Programs | Limit | Notes
Array (32-bit platforms), max elements (millions) | 10 |
Array, dimensions | 3 |
Command line (32-bit platforms), max characters | 512 | Entire length includes path, parameters and arguments.
COM interface method calls, max arguments | 20 |
Device Driver name length | 12 | This is the size of the filename as it exists in the *dev directory.
Line number, highest | 64999 |
Memory, max GB | 2 | ... or the maximum the operating system allows, whichever is smaller.
Mnemonics, max characters (billion) | 2 |
String length for data Precision, digits of accuracy | 18 | Default
Program size (32-bit platforms), max GB | 2 | ... or the maximum the operating system allows, whichever is smaller.
Record limit, max bytes per record | 10240 |
Statement label, max characters | 127 |
Statement length, max in KB | 32 | (The maximum statement length limit increased to 32 in PxPlus 2019 Update 2.)
Statement length (console editing), max in KB | 4 |
String size, max GB | 2 |
TCP sockets max connections | 65535 | The limit is 16 in Windows 95/98.
TCP/IP address, max characters | 256 | (The maximum number of characters increased to 256 in PxPlus 2018.0002.)
Variable name, max characters | 127 | This would include the leading or trailing percent sign as in the case of a global variable or integer.
WebServer port, highest port number | 65535 | Values below 2000 reserved for standard Internet activities.
Window size limits | 255 | Maximum is 225 for lines and 255 for columns.

The following are preset limits for PxPlus Data Files:

For Data Files | Limit | Notes
Channels, max number | 127 or 65000 | See 'XF' system parameter.
File size, max bytes | 2 ^ 31-1 | See 'MB'= system parameter.
Files, max number open concurrently | 500 |
Key segments (VLR/FLR files) | 48 - 96 | The maximum number of segments for a keyed file is 96; however, some segment options take up two segment positions (such as key suppression). Use of these options will reduce the maximum number of segments.
Key I/O buffers, max number | 100 |
Keys, max number of | 16/256 | 0 - 15 for VLR/FLR, or 0 - 255 for EFF.
Key max length segment/allsegments | 127/240 | No key segment can exceed 127 bytes, and the maximum length of a multi-segment key is 240. #### Note: Since external keys comprise a single segment, they are limited to 127 bytes.
Record size (fixed), max bytes | 32167 |
Record size (variable length), max bytes | 31000 / 2GB | The limit is 32000 when the extended record size option is not used. When this option is used, the maximum is 2GB.

Internal Limitations

With this increased string limit, a few internal logical limitations have been imposed to avoid passing excessively long strings to some of the system functions.

The following functions/directives are restricted to 8KB string lengths:

> CALL subprogram names/entry point names
> LIST_BOX LOAD for a single line
> SYSTEM_HELP command
> STR( ) function format masks
> SYS( ) function system command
> XEQ( ) pathname
> EVS( ) / EVN( ) expressions
> MSK( ) mask definition
> DAY_FORMAT and DTE( ) formats

## See Also

'SZ'= Maximum Memory Size for Session